|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
  [2008-11-01 21:35 UTC] phpbugs at enduringresults dot com
 Description:
------------
Daylight Savings doesn't work with the UTC time zone
It does work if I set the time zone to Europe/London.
Reproduce code:
---------------
<?php
echo date_default_timezone_get() . "\n";
$two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600);
echo $tw?php
echo date_default_timezone_get() . "\n";
$two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600);
echo $two_weeks_ago . "\n";
$right_now = date("d-M-Y h:i:s T I", time());
echo $right_now . "\n\n";
date_default_timezone_set("Europe/London");
echo date_default_timezone_get() . "\n";
$two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600);
echo $two_weeks_ago . "\n";
$right_now = date("d-M-Y h:i:o_weeks_ago . "\n";
$right_now = date("d-M-Y h:i:s T I", time());
echo $right_now . "\n\n";
date_default_timezone_set("Europe/London");
echo date_default_timezone_get() . "\n";
$two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600);
echo $two_weeks_ago . "\n";
$right_now = date("d-M-Y h:i:s T I", time());
echo $right_now . "\n\n";
date_default_timezone_set("UTC");
echo date_default_timezone_get() . "\n";
$two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600);
echo $two_weeks_ago . "\n";
$right_now = date("d-M-Y h:i:s T I", time());
echo $right_now . "\n";
?>
Expected result:
----------------
UTC
18-Oct-2008 10:17:25 UTC 1
01-Nov-2008 09:17:25 UTC 0
Europe/London
18-Oct-2008 10:17:25 BST 1
01-Nov-2008 09:17:25 GMT 0
UTC
18-Oct-2008 10:17:25 UTC 1
01-Nov-2008 09:17:25 UTC 0
Actual result:
--------------
UTC
18-Oct-2008 09:17:25 UTC 0
01-Nov-2008 09:17:25 UTC 0
Europe/London
18-Oct-2008 10:17:25 BST 1
01-Nov-2008 09:17:25 GMT 0
UTC
18-Oct-2008 09:17:25 UTC 0
01-Nov-2008 09:17:25 UTC 0
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 18:00:01 2025 UTC | 
The code got scrambled when cutting and pasting. Here's the correct code. =================== <?php echo date_default_timezone_get() . "\n"; $two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600); echo $two_weeks_ago . "\n"; $right_now = date("d-M-Y h:i:s T I", time()); echo $right_now . "\n\n"; date_default_timezone_set("Europe/London"); echo date_default_timezone_get() . "\n"; $two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600); echo $two_weeks_ago . "\n"; $right_now = date("d-M-Y h:i:s T I", time()); echo $right_now . "\n\n"; date_default_timezone_set("UTC"); echo date_default_timezone_get() . "\n"; $two_weeks_ago = date("d-M-Y h:i:s T I", time()-1209600); echo $two_weeks_ago . "\n"; $right_now = date("d-M-Y h:i:s T I", time()); echo $right_now . "\n"; ?>