Comment calculer la différence minute entre deux dates-heures en PHP?
270
Soustrayez le plus un passé du plus un futur et divisez par 60.
Les temps sont effectués au format Unix, ils ne sont donc qu'un grand nombre indiquant le nombre de secondes January 1, 1970, 00:00:00 GMT
Les réponses ci-dessus concernent les anciennes versions de PHP. Utilisez la classe DateTime pour effectuer des calculs de date maintenant que PHP 5.3 est la norme. Par exemple.
$ since_start est un objet DateInterval . Notez que la propriété days est disponible (car nous avons utilisé la méthode diff de la classe DateTime pour générer l'objet DateInterval).
Le code ci-dessus affichera:
1837 jours au total
5 ans
0 mois
10 jours
6 heures
14 minutes
2 secondes
Pour obtenir le nombre total de minutes:
Cela produira:
2645654 minutes
Quel est le nombre réel de minutes qui se sont écoulées entre les deux dates. La classe DateTime prendra en compte l'heure d'été (en fonction du fuseau horaire) là où «l'ancienne» ne le fera pas. Lisez le manuel sur la date et l'heure http://www.php.net/manual/en/book.datetime.php
la source
inSeconds()
ou quelque chose de similaire, maintenant c'est la répétition de code partout où j'ai besoin de calculer la différence en secondes.$dateFrom = new DateTime('2007-09-01 04:10:58'); $dateTo = new DateTime('2012-09-11 10:25:00'); echo ($dateTo->getTimestamp()-$dateFrom->getTimestamp())/60 ;
strtotime
réponse ci-dessus? Cela semble être un cas de POO lorsque la procédure est AU MOINS une solution valide (et considérablement plus concise).Voici la réponse:
la source
/ 60,2
moyens: diviser par soixante, arrondir à la deuxième décimale la plus proche.strtotime
peut être obsolète, mais il n'est pas fiable si vous l'utilisez correctement. Il va de soi que vous devez travailler avec des formats de date cohérents pour pouvoir lire (ou analyser) les dates correctement. VoirISO 8601
et ne pas blâmer les outils: =)la source
sleep
pour calculer une différence de date?Cela a fonctionné sur mes programmes, j'utilise
date_diff
, vous pouvez consulter ledate_diff
manuel ici .Vous obtenez des résultats que voulez-vous.
la source
d'une autre manière avec le fuseau horaire.
la source
$days = $interval->format('%d');
et le diff est($days * 1440 + $hours * 60 + $minutes)
. Pendant des mois, années => même logiqueJ'ai écrit cette fonction pour un site de mon blog (différence entre une date antérieure et la date du serveur). Il vous donnera une sortie comme celle-ci
"Il y a 49 secondes", "il y a 20 minutes", "il y a 21 heures" et ainsi de suite
J'ai utilisé une fonction qui me ferait la différence entre la date passée et la date du serveur.
Enregistrez-le en tant que fichier supposons "date.php". Appelez la fonction à partir d'une autre page comme celle-ci
Bien sûr, vous pouvez modifier la fonction pour passer deux valeurs.
la source
Je crois que ceci vous aidera
la source
$minutes = floor(($seconds/60)%60);
la source
Une version plus universelle qui renvoie le résultat en jours, heures, minutes ou secondes, y compris les fractions / décimales:
la source
C'est ainsi que j'ai affiché "il y a xx fois" dans php> 5.2 .. voici plus d'informations sur l' objet DateTime
la source
Production:
la source
Soustrayez les temps et divisez par 60.
Voici un exemple qui calcule le temps écoulé à partir de
2019/02/01 10:23:45
en minutes:la source
Ma solution pour trouver la différence entre deux dates est ici. Avec cette fonction, vous pouvez trouver des différences comme les secondes, les minutes, les heures, les jours, les années et les mois.
Vous pouvez développer cette fonction. J'ai testé et travaille pour moi. La sortie de l'objet DateInterval est ici:
Utilisation de la fonction:
$ date = la date passée, $ diff = type par exemple: "minutes", "jours", "secondes"
Bonne chance.
la source
CA aidera....
la source
J'ai trouvé tellement de solutions mais je n'ai jamais eu de solution correcte. Mais j'ai créé du code pour trouver des minutes, veuillez le vérifier.
Il donne la sortie en heures et minutes par exemple 01 heure 02 minutes comme 01:02
la source