ID: 14391
Updated by: jah
Reported By: [EMAIL PROTECTED]
Status: Feedback
Bug Type: Date/time related
Operating System: Windows 2000 Server
PHP Version: 4.0.6
New Comment:

Bug confirmed also with 4.1.1 on Windows 2000 server.
Everything fine on Linux (4.1.1 and 4.0.3).

Note that depending on your country, the result might be
wrong on summer time too. I'm too living on a timezone
GMT+2 (Finland), but we didn't switch to using daylight
savings time until 1977. Which is correctly detected on
Linux and wrong on Windows 2000 server (it thinks that we
had daylight savings also on 1970-1976).




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

[2002-01-13 05:15:26] [EMAIL PROTECTED]

Can you test a newer version, say 4.1.1?

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

[2002-01-13 04:59:58] [EMAIL PROTECTED]

Same problem on 4.0.5 running on solaris and linux.

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

[2001-12-09 07:29:35] [EMAIL PROTECTED]

Please see the code below. The comments are the result of running this
code on my PC, (my GMT Offset = +2 hours = +7200 sec.)
You may see that the mktime() and date() functions work correct, but
gmmktime() returns wrong value in winter time (when it is not a
daylight saving time), and gmdate returns wrong "Z" parameter.
Note: this bug does not appear on UNIX systems.

<?
$df="d.m.Y - H:i:s (Z), I";

$t=mktime(0,0,0,1,2,1970);
echo    "<br><b>Make 02.01.1970 - 00:00:00 (Local):</b><br>",
        "Timestamp: $t<br>",                    // 79200
        "GMT: ", gmdate($df,$t), "<br>",        // 01.01.1970 - 22:00:00 (7200)
        "Local: ", date($df,$t), "<br>",        // 02.01.1970 - 00:00:00 (7200)
        "----------------------------------------<br>";

$t=gmmktime(0,0,0,1,2,1970);
echo    "<br><b>Make 02.01.1970 - 00:00:00 (GMT):</b><br>",
        "Timestamp: $t<br>",                    // 82800 (Why !=86400 ?)
        "GMT: ", gmdate($df,$t), "<br>",        // 01.01.1970 - 23:00:00 (7200)
        "Local: ", date($df,$t), "<br>",        // 02.01.1970 - 01:00:00 (7200)
        "----------------------------------------<br>";

$t=mktime(0,0,0,7,20,1970);
echo    "<br><b>Make 20.07.1970 - 00:00:00 (Local):</b><br>",
        "Timestamp: $t<br>",                    // 17269200
        "GMT: ", gmdate($df,$t), "<br>",        // 01.07.1970 - 21:00:00 (7200)
        "Local: ", date($df,$t), "<br>",        // 02.07.1970 - 00:00:00 (10800)
        "----------------------------------------<br>";

$t=gmmktime(0,0,0,7,20,1970);
echo    "<br><b>Make 20.07.1970 - 00:00:00 (GMT):</b><br>",
        "Timestamp: $t<br>",                    // 17280000 (=86400*200)
        "GMT: ", gmdate($df,$t), "<br>",        // 02.07.1970 - 00:00:00 (7200)
        "Local: ", date($df,$t), "<br>",        // 02.07.1970 - 03:00:00 (10800)
        "----------------------------------------<br>";
?>


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



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


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to