|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2015-03-10 12:43 UTC] lr at cwd dot at
-Summary: DateTime Diff is off by 2
+Summary: DateTime Diff is off by 3
[2015-03-10 12:43 UTC] lr at cwd dot at
[2015-03-10 13:12 UTC] requinix@php.net
-Status: Open
+Status: Not a bug
[2015-03-10 13:12 UTC] requinix@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 07 16:00:02 2026 UTC |
Description: ------------ DateTime::diff() ist off by 3 days when year roll over Test script: --------------- <?php date_default_timezone_set('UTC'); $datetime1 = new DateTime('2015-01-01'); $datetime2 = new DateTime('2015-03-10'); $interval = $datetime1->diff($datetime2); echo $interval->format('%y years %m months and %d days')."\n"; $datetime1 = new DateTime('2014-12-31'); $datetime2 = new DateTime('2015-03-10'); $interval = $datetime1->diff($datetime2); echo $interval->format('%y years %m months and %d days')."\n"; $datetime1 = new DateTime('1951-12-31'); $datetime2 = new DateTime('2015-03-10'); $interval = $datetime1->diff($datetime2); echo $interval->format('%y years %m months and %d days')."\n"; Expected result: ---------------- 0 years 2 months and 9 days 0 years 2 months and 10 days 63 years 2 months and 10 days Actual result: -------------- 0 years 2 months and 9 days 0 years 2 months and 7 days 63 years 2 months and 7 days