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