DateTime::diff comportement étrange
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 :
Code:
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>"); |
Me retourne ca :
Code:
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
) |
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.
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.