Edit report at http://bugs.php.net/bug.php?id=51096&edit=1
ID: 51096
Comment by: marques at displague dot com
Reported by: phpbugs at rizzt dot kicks-ass dot org
Summary: strtotime returns wrong results
Status: Assigned
Type: Bug
Package: Date/time related
Operating System: linux
PHP Version: 5.2.12
Assigned To: derick
New Comment:
I'm not sure there would be consensus on my expected return values here,
but it
makes more sense then getting March as a result.
Reproduce code:
---------------
date_default_timezone_set('America/New_York');
echo date(DATE_RFC822,strtotime('march 31 2010 -1 month'));
echo date(DATE_RFC822,strtotime('march 30 2010 -1 month'));
echo date(DATE_RFC822,strtotime('march 29 2010 -1 month'));
echo date(DATE_RFC822,strtotime('march 28 2010 -1 month'));
Expected result:
----------------
Sun, 28 Feb 10 00:00:00 -0500
Sun, 28 Feb 10 00:00:00 -0500
Sun, 28 Feb 10 00:00:00 -0500
Sun, 28 Feb 10 00:00:00 -0500
Actual result:
----------------
Wed, 03 Mar 10 00:00:00 -0500
Tue, 02 Mar 10 00:00:00 -0500
Mon, 01 Mar 10 00:00:00 -0500
Sun, 28 Feb 10 00:00:00 -0500
Previous Comments:
------------------------------------------------------------------------
[2010-03-31 14:23:58] marques at displague dot com
This may be fodder for another bug report, but strtotime() more
specifically
"returns wrong results" for the last three days of March 2010.
date_default_timezone_set('America/New_York');
echo PHP_VERSION."\n".
date(DATE_RFC822)."\n".
date(DATE_RFC822,strtotime('last month'));
5.3.1
Wed, 31 Mar 10 08:21:30 -0400
Wed, 03 Mar 10 08:21:30 -0500
This was also posted as a PHP.net comment:
http://www.php.net/manual/en/function.strtotime.php#97065
------------------------------------------------------------------------
[2010-03-09 09:49:36] [email protected]
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] [email protected]
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] [email protected]
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] [email protected]
Actually, there is a bug here "first day" and "last day" should be "+1
day" and "-1 day".
------------------------------------------------------------------------
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