Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

new DateDiff / DateInterval in 5.3.1

2 views
Skip to first unread message

Peter Schleif

unread,
Dec 14, 2009, 5:29:09 PM12/14/09
to
Hallo.

<?php
date_default_timezone_set('Europe/Berlin');
$d1 = new DateTime('2010-01-01 06:00:00');
$d2 = new DateTime('2010-01-31 10:00:00');
$d = $d1->diff($d2);
print_r($d);
?>

DateInterval Object
(
[y] => 0
[m] => 1
[d] => 2
[h] => 4
[i] => 0
[s] => 0
[invert] => 0
[days] => 30
)

Wieso kommt hier 1 Monat und 2 Tage raus?

Geht man auf den 30.01. runter, ist es auch noch falsch (1 und 1)
Geht man auf den 29.01. runter, stimmt es (0 und 28)

Lᅵsst man die Uhrzeit weg, stimmt es auch. Dafᅵr stimmen dann andere
Paare nicht (z.B. 2010-01-01, 2010-07-01 -> 5 und 30)

Peter

Johannes Mueller

unread,
Dec 15, 2009, 7:48:03 AM12/15/09
to
Peter Schleif wrote:

> <?php
> date_default_timezone_set('Europe/Berlin');
> $d1 = new DateTime('2010-01-01 06:00:00');
> $d2 = new DateTime('2010-01-31 10:00:00');
> $d = $d1->diff($d2);
> print_r($d);

> Wieso kommt hier 1 Monat und 2 Tage raus?

Versuchs doch mal mit einem Bug-Report auf http://bugs.php.net . Bei mir
unter WinXP SP3, PHP 5.3.1 jedenfalls das gleiche Ergebnis.

Grᅵᅵe
Johannes

--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelᅵscht.

Peter Schleif

unread,
Dec 16, 2009, 5:11:29 AM12/16/09
to
Johannes Mueller schrieb am 15.12.2009 13:48 Uhr:
>
> Versuchs doch mal mit einem Bug-Report auf http://bugs.php.net . Bei mir
> unter WinXP SP3, PHP 5.3.1 jedenfalls das gleiche Ergebnis.

Ist wohl schon seit 5.3.0 bekannt und in Arbeit.

http://bugs.php.net/bug.php?id=49081

Peter

0 new messages