Bug #13888 Updated: Date + October

From: Date: Wed, 31 Oct 2001 17:46:15 +0000
Subject: Bug #13888 Updated: Date + October
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-69427@lists.php.net to get a copy of this message
ID: 13888 Updated by: cnewbill Reported By: pmartinez@distridasa.com Status: Bogus Bug Type: Date/time related Operating System: Red Hat 6.2 PHP Version: 4.0.4pl1 New Comment: Again same result and same reason. What does April 30th and June 30th have to do with your problem?? Last I checked the calendar works like this So you're telling me that 9/31 isn't the same calendar day as October 1st and Novemember 31st isn't the same calendar day as Dec 1st?? Sept Oct Nov Dec 30 1 2 3 ... 31 1 2 3 ... 30 1 2 3 <?php print "May\n"; print "Before: ".date("m", mktime(0,0,0,(5-1),31,2001))."\n"; print "After: ".date("m", mktime(0,0,0,(5+1),31,2001)). "\n"; print "October\n"; print "Before: ".date("m", mktime(0,0,0,(10-1),31,2001))."\n"; print "After: ".date("m", mktime(0,0,0,(10+1),31,2001)). "\n"; ?> [cnewbill@storm cnewbill]$ php -q t.php May Before: 05 After: 07 October Before: 10 After: 12 -Chris Previous Comments: ------------------------------------------------------------------------ [2001-10-31 12:26:45] pmartinez@distridasa.com I'm disagree with cnewbill. For example in 30 Apr, next was 01 May, and in 30 Jun next was 01 Jul. Why in october doesn't it work? ------------------------------------------------------------------------ [2001-10-31 12:11:16] cnewbill@php.net There is no Novemeber 31st, this is why it is returning December; it skips to the equivalent day which would be the 1st of Dec. Same with Septemeber. This is desired behavior. -Chris ------------------------------------------------------------------------ [2001-10-31 12:07:52] hholzgra@php.net might be daylight saving time related? it's always better to use mktime(12,0,0,... instead of mktime(0,0,0,... when you care about date only but not time ... ------------------------------------------------------------------------ [2001-10-31 11:57:25] pmartinez@distridasa.com I have a problem with date() function; In my PC, Today is 31-October-2001. I would like to obtain precedent month and next month with this clause: $month_before = date('m', mktime(0,0,0,date("m")-1,date("d"),date("Y"))); $month_next = date('m', mktime(0,0,0,date("m")+1,date("d"),date("Y"))); Surprisingly, I get this result: $month_before is equal to 10 $month_next is equal to 12 This error just ocurrs this day "31-10-2001". Another day is ok. I don't understand it !!! Can anyone help me ?? ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13888&edit=1

« previous php.dev (#69427) next »