note 106058 added to datetime.add
| From: | dev dot maizy dot ru at osu1 dot php dot net | Date: | Thu, 06 Oct 2011 11:22:25 +0000 |
| Subject: | note 106058 added to datetime.add | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-183661@lists.php.net to get a copy of this message | ||
I'm not sure, but there is strange behaviour when add 30D to 2369-12-01 (and for 2369+400,
2369+800, 2369+1200 ... year)
<?php
$sep31 = new DateTime('2369-12-31');
echo '2369-12-31: ', $sep31->format('Y-m-d H:i:s'), PHP_EOL;
assert($sep31->format('Y-m-d H:i:s') === '2369-12-31 00:00:00');
$date = new DateTime('2369-12-01');
$date->add(new DateInterval('P30D'));
echo '2369-12-01 + P30D = 2369-01-31 00:00:00 ? => ', $date->format('Y-m-d
H:i:s'), ' - wtf?', PHP_EOL;
assert($date->format('Y-m-d H:i:s') === '2369-01-31 00:00:00'); // false
----
Server IP: 93.93.89.9
Probable Submitter: 80.243.13.243
----
Manual Page -- http://www.php.net/manual/en/datetime.add.php
Edit -- https://master.php.net/note/edit/106058
Del: integrated -- https://master.php.net/note/delete/106058/integrated
Del: useless -- https://master.php.net/note/delete/106058/useless
Del: bad code -- https://master.php.net/note/delete/106058/bad+code
Del: spam -- https://master.php.net/note/delete/106058/spam
Del: non-english -- https://master.php.net/note/delete/106058/non-english
Del: in docs -- https://master.php.net/note/delete/106058/in+docs
Del: other reasons-- https://master.php.net/note/delete/106058
Reject -- https://master.php.net/note/reject/106058
Search -- https://master.php.net/manage/user-notes.php