ID:               43997
 Updated by:       [EMAIL PROTECTED]
 Reported By:      gavinp at tbs dot uk dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Date/time related
 Operating System: Debian
 PHP Version:      4.4.8
 New Comment:

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 behavior)


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

[2008-01-31 15:36:03] gavinp at tbs dot uk dot com

Description:
------------
On the last day of the month all of the below bits of code produce two
months in advance as oposed to the next month.

So the last day of the month, next month, month +1 etc .. *always* goes
two months ahead instead of one.

After having checked the documentation, I don't see or understand how
string to time if as next month, would output two months. This cleary is
not 'next month'.

Seems to effect all versions of PHP from 4 to at least 5.2.0 (have not
tried and tested 5.2.5).

Reproduce code:
---------------
$basedate = time(); 

$date1 = strtotime('next month', $basedate); 
$date2 = strtotime('+1 month', $basedate); 
$date3 = strtotime('first month', $basedate); 
$date4 = mktime(0, 0, 0, date("m")+1, date("d"), date("Y"));

$format1 = date('F', $date1);
$format2 = date('F', $date2);
$format3 = date('F', $date3);
$format4 = date('F', $date4);

echo $format1;
echo $format2;
echo $format3;
echo $format4;

Expected result:
----------------
February
February
February
February

Actual result:
--------------
March
March
March
March


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


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

Reply via email to