incorrect j'ai donc ce code en php:différence datetime php retour résultat
$now= new \Datetime("UTC");
$lv=$user->getLastVisit();
$interval =$lv->diff($now,true);
print_r($interval);
print_r("<br>".$lv->format("Y-m-d H:i:s"));
print_r("<br>".$now->format("Y-m-d H:i:s"));
exit(0);
et c'est la sortie:
DateInterval Object ([y] => 0 [m] => 0 [d] => 0 [h] => 6 [i] => 59 [s] => 6 [invert] => 0 [days] => 0)
2013-04-09 23:44:21
2013-04-09 23:45:15
donc le résultat de la différence est de 6 heures 59 minutes et 6 secondes! mais si je fais la différence manuellement j'ai 54 secondes !! alors quel est le problème avec cette fonction DateTime :: diff?
Edit:
c'est le var_dump ($ user-> getLastVisit());
2013-04-09 23:54:59object(DateTime)#320 (3) { ["date"]=> string(19) "2013-04-09 23:44:21" ["timezone_type"]=> int(3) ["timezone"]=> string(19) "America/Los_Angeles" }
Vos objets 'DateTime' utilisent des fuseaux horaires différents. – DaveRandom
Avez-vous considéré le fuseau horaire lors du calcul de la différence manuellement? – Oswald
Pouvez-vous ajouter la sortie de 'var_dump ($ user-> getLastVisit());'. Serait intéressant de voir le fuseau horaire qui est utilisé – hek2mgl