Edit report at http://bugs.php.net/bug.php?id=51096&edit=1
ID: 51096 Updated by: j...@php.net Reported by: phpbugs at rizzt dot kicks-ass dot org Summary: strtotime returns wrong results -Status: Re-Opened +Status: Assigned Type: Bug Package: Date/time related Operating System: linux PHP Version: 5.2.12 Assigned To: derick Previous Comments: ------------------------------------------------------------------------ [2010-03-09 09:49:36] der...@php.net Re-opening because of the question marks: firstdayof = 'first day of'?; lastdayof = 'last day of'?; It shouldn't cause an issue though, but it needs fixing. ------------------------------------------------------------------------ [2010-03-06 17:05:05] der...@php.net This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2010-03-06 17:04:57] der...@php.net Automatic comment from SVN on behalf of derick Revision: http://svn.php.net/viewvc/?view=revision&revision=295892 Log: - Fixed bug #51096 ('last day' and 'first day' are handled incorrectly when parsing date strings). - For 5.2 I just added the test case minus new 5.3 additions. ------------------------------------------------------------------------ [2010-02-20 17:10:49] der...@php.net Actually, there is a bug here "first day" and "last day" should be "+1 day" and "-1 day". ------------------------------------------------------------------------ [2010-02-20 15:22:05] der...@php.net That's because those things were introduced in PHP 5.3: der...@kossu:~$ pe 5.2dev der...@kossu:~$ php <?php echo strftime('1 %Y/%m/%d')."\n"; echo strftime('2 %Y/%m/%d', strtotime('first day'))."\n"; echo strftime('3 %Y/%m/%d', strtotime('last day'))."\n"; echo strftime('4 %Y/%m/%d', strtotime('next month'))."\n"; echo strftime('5 %Y/%m/%d', strtotime('first day next month'))."\n"; echo strftime('6 %Y/%m/%d', strtotime('last day next month'))."\n"; ?> 1 2010/02/20 2 2010/02/21 3 2010/02/19 4 2010/03/20 5 2010/03/21 6 2010/03/19 der...@kossu:~$ pe 5.3dev der...@kossu:~$ php <?php echo strftime('1 %Y/%m/%d')."\n"; echo strftime('2 %Y/%m/%d', strtotime('first day'))."\n"; echo strftime('3 %Y/%m/%d', strtotime('last day'))."\n"; echo strftime('4 %Y/%m/%d', strtotime('next month'))."\n"; echo strftime('5 %Y/%m/%d', strtotime('first day next month'))."\n"; echo strftime('6 %Y/%m/%d', strtotime('last day next month'))."\n"; ?> 1 2010/02/20 2 2010/02/01 3 2010/02/28 4 2010/03/20 5 2010/03/01 6 2010/03/31 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=51096 -- Edit this bug report at http://bugs.php.net/bug.php?id=51096&edit=1