ID: 22163
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Feedback
+Status: Open
Bug Type: Date/time related
Operating System: MacOS X 10.2
PHP Version: 4.3.0
New Comment:
ok, I used the script:
<?PHP
$the_day=mktime(0,0,0,3,30,2003);
echo "$the_day<br>";
echo "23:59:59 29-Mar = ", mktime(23, 59, 59, 3, 29, 2003), ";
01:00:01 30-Mar = ", mktime(1, 0, 1, 3, 30, 2003);
?>
and got:
-3662
23:59:59 29-Mar = 1048982399; 01:00:01 30-Mar = -61
I thought it might be a daylight savings time problem as well, hence I
thought the extra parameter I normally use would solve the problem, but
it didn't. i.e.
$the_day=mktime(0,0,0,3,30,2003,0);
Previous Comments:
------------------------------------------------------------------------
[2003-02-12 05:31:04] [EMAIL PROTECTED]
Of course, I meant "; 01:00:01 30-Mar = " in the second line (although
the mktime() call is correct)!
------------------------------------------------------------------------
[2003-02-12 05:27:07] [EMAIL PROTECTED]
I think this must be related to daylight savings time -- 30th March
2003 is certainly the date on which DST begins in western Europe.
Can you try this, and see what you get:
echo "23:59:59 29-Mar = ", mktime(23, 59, 59, 3, 29, 2003),
"; 00:00:01 30-Mar = ", mktime(1, 0, 1, 3, 30, 2003);
If those timestamps are 2 seconds apart, then your original mktime() is
falling into the limbo of the "lost hour" due to the clocks going back
(the second after 29-Mar-2003 23:59:59 must be regarded as 30-Mar-2003
01:00:00), and the algorithm used on your system returns a nonsense
value when that happens.
Mike
------------------------------------------------------------------------
[2003-02-12 02:31:17] [EMAIL PROTECTED]
Yes, I have also tried (and just tried it again to make sure):
$the_day=mktime(0,0,0,3,30,2003);
Same result, -3662
Anything else I can try to narrow down where the problem might be
lying?
------------------------------------------------------------------------
[2003-02-11 15:29:51] [EMAIL PROTECTED]
Did you try:
$the_day=mktime(0,0,0,3,30,2003);
??
------------------------------------------------------------------------
[2003-02-11 14:55:01] [EMAIL PROTECTED]
Sorry if I misunderstand, but as my first post shows I have tried the
year as 2003, as well as 03. No difference, and using the 29th as the
day instead works.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/22163
--
Edit this bug report at http://bugs.php.net/?id=22163&edit=1