Bonjour,
J'ai besoin de calculer le nombre de jours entre deux dates, en regardant dans la doc, j'ai vu que DateTime a été récement implémenté et donc, vu que mes dates peuvent aller bien avant 1970, je me suis dit que j'allais m'en servir, mais le problème c'est que la fonction qui calcule la différence entre deux dates semble buggué. Par exemple :
Me retourne ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $d1 = new DateTime('2010-01-01'); $d2 = new DateTime('2009-01-01'); echo ($d1->format(DateTime::RSS) . ' - ' . $d2->format(DateTime::RSS)); echo ("<pre>"); print_r($d1->diff($d2)); echo ("</pre>");
Mes deux dates sont bien crées (l'affichage avec le format montre qu'elles ont été correctement interprétées), mais le champ "days" (celui qui m'interesse), retourne 6015 au lieu des 365 attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Fri, 01 Jan 2010 00:00:00 +0000 - Thu, 01 Jan 2009 00:00:00 +0000 DateInterval Object ( [y] => 1 [m] => 0 [d] => 0 [h] => 0 [i] => 0 [s] => 0 [invert] => 1 [days] => 6015 )
Est-ce que j'ai foiré quelque chose ? Est-ce que c'est un bug php ?
A noter que quelque soit les valeurs que je mets à la base, le "days", vaut toujours 6015...
Pour info, ma version de php est actuellement php 5.3.0.
[edit]Je viens de tester avec la 5.3.1, c'est idem.[/edit]
Merci d'avance.
Partager