|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-08-09 19:56 UTC] markjreed at mail dot com
Description:
------------
This doesn't seem to fall into the same category as the other strtotime() bugs I found in the system. Here is an example:
$ php -r 'echo strftime("%c\n", strtotime("0900 tomorrow"));'
Sat Jan 26 13:50:04 2008
If I add a colon to the time ("09:00 tomorrow"), or exchange the date and time ("tomorrow 0900"), it produces the expected result. I don't know quite what's going on here. Note that Perl's Time::ParseDate::parsedate function handles such strings properly.
The expected and actual output below are only for the particular moment when I tried it; they will vary depending on the time of the test.
Reproduce code:
---------------
echo strftime("%c\n", strtotime("0900 tomorrow"));
Expected result:
----------------
Wed Aug 10 09:00:00 2005
Actual result:
--------------
Sat Jan 26 13:50:04 2008
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 16:00:01 2025 UTC |
The latest CVS snapshot (200508091630) handles the problem string better, but still not perfectly - it gets the date right but ignores the hour: $ ./sapi/cli/php -r 'echo strftime("%c\n", strtotime("0900 tomorrow"));' Wed Aug 10 00:00:00 2005The latest snapshot also ignores the time in the colon'ed version ("09:00 tomorrow"), whereas 5.0.3 got that right: $ php -r 'echo strftime("%c\n", strtotime("09:00 tomorrow"));' #5.0.3 Wed Aug 10 09:00:00 2005 $ ./sapi/cli/php -r 'echo strftime("%c\n", strtotime("09:00 tomorrow"));' #200508091630 Wed Aug 10 00:00:00 2005 $