Bug #13888 Updated: Date + October
| From: | cnewbill@php.net | 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