Re: Strange Result of Datetime::diff
| From: | Aziz Saleh | Date: | Mon, 03 Apr 2017 13:28:01 +0000 |
| Subject: | Re: Strange Result of Datetime::diff | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-326040@lists.php.net to get a copy of this message | ||
On Mon, Apr 3, 2017 at 8:39 AM, <naitsirch@e.mail.de> wrote:
> Hi,
>
> I'd expect the following script:
>
> <?php
>
> $date1 = new DateTime('2017-03-01');
> $date2 = new DateTime('2017-04-02');
>
> $diff = $date1->diff($date2);
>
> echo "{$diff->m} months and {$diff->d} days.";
> ?>
>
> would print "1 months and 0 days.". But instead it prints "1 months and 3
> days." (see https://3v4l.org/RMuUZ).
> What is the reason for this behaviour?
>
> Thanks in advance and best regards
> Christian
> ------------------------------------------------------------
> -------------------------------------
> FreeMail powered by mail.de - MEHR SICHERHEIT, SERIOSITÄT UND KOMFORT
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
You sure about that, the above should yield 1 months and 1 days since you
have an extra day there:
http://sandbox.onlinephpfunctions.com/code/fe7c7d989101ab5e1dd1530d457bfcc7a1cfa8fa
If it was:
$date1 = new DateTime('2017-03-01');
$date2 = new DateTime('2017-04-01');
Then it would be exactly 1 month.