ID:               26565
 Updated by:       [EMAIL PROTECTED]
-Summary:          strtotime('next month') resolving to the wrong month
 Reported By:      michaelw at darkhorse dot com
-Status:           Bogus
+Status:           Open
 Bug Type:         Date/time related
 Operating System: Mac OS X 10.2.x
 PHP Version:      4.3.4
 New Comment:

More to the point, "next" is specifically equated to "2" (or "+2") in
the documentation referenced by the strtotime() manual page, so your
expectation for "next month" is simply wrong.

However, "this" is also specifically equated to a "zero-valued
displacement ... preferred in date strings like `this thursday'" (which
doesn't sound very "fuzzy" to me), so the behaviour of "this month" in
your example is, at the least, questionable.  On this basis, I'm
re-opening this bug (with a revised summary) so a developer who knows
their way round strtotime() can take another look.


Previous Comments:
------------------------------------------------------------------------

[2003-12-09 14:37:06] [EMAIL PROTECTED]

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.


And this is expected behaviour. (this, next, etc. are FUZZY, rtfm)



------------------------------------------------------------------------

[2003-12-09 13:09:41] michaelw at darkhorse dot com

Description:
------------
strtotime adds an extra month when using the phrase 
"this month" or "next month".  Using '+1 months' or '+0 
months' works fine, though.

And, no, I'm not adding a month to 'Jan. 30'.

Reproduce code:
---------------
echo date('Y-m-d', strtotime('last month'));
echo date('Y-m-d', strtotime('this month'));
echo date('Y-m-d', strtotime('next month'));

echo date('Y-m-d', strtotime('-1 months'));
echo date('Y-m-d', strtotime('+0 months'));
echo date('Y-m-d', strtotime('+1 months'));


Expected result:
----------------
2003-11-09
2003-12-09
2004-01-09

2003-11-09
2003-12-09
2004-01-09


Actual result:
--------------
2003-11-09
2004-01-09
2004-02-09

2003-11-09
2003-12-09
2004-01-09



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26565&edit=1

Reply via email to