Round datetime à la dernière heure
J'ai essayé de regarder pour cela, mais je ne pouvais pas trouver un bon exemple de ce que im essayant de faire.
J'ai obtenu des valeurs datetime de MySQL base de données qui doit être arrondi vers le bas lorsque cette valeur est de l'utilisation.
Exemple, l'ensemble de ces valeurs:
2013-04-20 07:14:42
2013-04-20 07:19:51
2013-04-20 07:37:26
2013-04-20 07:46:28
2013-04-20 07:59:44
Doit être arrondi à:
2013-04-20 07:00:00
Et
2013-04-20 16:25:34
devrait être:
2013-04-20 16:00:00 etc...
Code PHP qui reçoit une date de valeur:
$d = strtotime($row["date"]);
Alors, comment il est possible d'arrondir la valeur datetime?
source d'informationauteur plexcell
Vous devez vous connecter pour publier un commentaire.
Essayer cela,
CodePad Démo.
Si vous utilisez PHP en Carbone de type DateTime de la bibliothèque (que vous devriez vraiment - https://github.com/briannesbitt/Carbon )
Vous pouvez y arriver facilement à l'aide de
Carbon::now()->minute(0)->second(0);
strtotime()
vous donne un timestamp Unix, qui est le nombre de secondes depuis le 1970-01-01 00:00:00.Que faire si juste divisé par 3600 secondes (secondes équivalent à 1 heure) et d'ignorer les restes (les minutes et les secondes que vous voulez)?
Car vous avez déjà un timestamp Unix
$d
le moyen le plus efficace est d'utiliser uniquement de l'arithmétique à la place des fonctions de date - surtout si vous allez à boucle à travers un jeu de résultats.Opérateur Modulo vous donne le reste qui vous soustraire de l'horodatage pour obtenir de l'heure d'horodatage.
vous pouvez utiliser
date
etstrtotime
fonction pour atteindre cet objectif, déjà simplement changer votre minutes et la deuxième accordlingce sera de sortie
Ceci écrit la date en une chaîne de caractères en sortie directement
00:00
que les minutes et les secondes au lieu d'écrirei:s
:Ou avez-vous besoin que le timestamp unix? Couper ensuite les minutes et les secondes (toujours le dernier 5 octets) et de les remplacer par
00:00
.Dans ce cas, une simple
substr
:Pour ceux qui suivent (beaucoup plus tard!): Le carbone est un moyen facile de le faire