php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #59418 bad Europe/London offset
Submitted: 2010-09-13 18:18 UTC Modified: 2010-09-14 06:16 UTC
From: jules dot boussekeyt at gmail dot com Assigned:
Status: Not a bug Package: timezonedb (PECL)
PHP Version: 5.3.2 OS: mac osx
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jules dot boussekeyt at gmail dot com
New email:
PHP Version: OS:

 

 [2010-09-13 18:18 UTC] jules dot boussekeyt at gmail dot com
Description:
------------
The Europe/London offset seems to be wrong

Reproduce code:
---------------
$timezone = 7200;
$dst = true

foreach(timezone_abbreviations_list() as $tz => $reg) {
    foreach($reg as $tz) {
        if ($tz['offset'] === $timezone && $tz['dst'] === $dst) {
    return $tz['timezone_id'];
        }
    }
}

Expected result:
----------------
Europe/Paris timezone for example who is GMT+2 actually

Actual result:
--------------
Europe/London who is normally GMT+1 so it's the wrong timezone

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-09-14 06:16 UTC] derick@php.net
Thank you for taking the time to write to us, but this is not
a bug.

This is perfectly all right. Europe/London used to be on UTC+2 during WW2:

derick@kossu:~$ zdump -v Europe/London -c 1938,1950
Europe/London  -9223372036854775808 = NULL
Europe/London  -9223372036854689408 = NULL
Europe/London  Sun Apr 10 01:59:59 1938 UTC = Sun Apr 10 01:59:59 1938 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr 10 02:00:00 1938 UTC = Sun Apr 10 03:00:00 1938 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  2 01:59:59 1938 UTC = Sun Oct  2 02:59:59 1938 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  2 02:00:00 1938 UTC = Sun Oct  2 02:00:00 1938 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr 16 01:59:59 1939 UTC = Sun Apr 16 01:59:59 1939 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr 16 02:00:00 1939 UTC = Sun Apr 16 03:00:00 1939 BST isdst=1 gmtoff=3600
Europe/London  Sun Nov 19 01:59:59 1939 UTC = Sun Nov 19 02:59:59 1939 BST isdst=1 gmtoff=3600
Europe/London  Sun Nov 19 02:00:00 1939 UTC = Sun Nov 19 02:00:00 1939 GMT isdst=0 gmtoff=0
Europe/London  Sun Feb 25 01:59:59 1940 UTC = Sun Feb 25 01:59:59 1940 GMT isdst=0 gmtoff=0
Europe/London  Sun Feb 25 02:00:00 1940 UTC = Sun Feb 25 03:00:00 1940 BST isdst=1 gmtoff=3600
Europe/London  Sun May  4 00:59:59 1941 UTC = Sun May  4 01:59:59 1941 BST isdst=1 gmtoff=3600
Europe/London  Sun May  4 01:00:00 1941 UTC = Sun May  4 03:00:00 1941 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 10 00:59:59 1941 UTC = Sun Aug 10 02:59:59 1941 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 10 01:00:00 1941 UTC = Sun Aug 10 02:00:00 1941 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  5 00:59:59 1942 UTC = Sun Apr  5 01:59:59 1942 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  5 01:00:00 1942 UTC = Sun Apr  5 03:00:00 1942 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug  9 00:59:59 1942 UTC = Sun Aug  9 02:59:59 1942 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug  9 01:00:00 1942 UTC = Sun Aug  9 02:00:00 1942 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  4 00:59:59 1943 UTC = Sun Apr  4 01:59:59 1943 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  4 01:00:00 1943 UTC = Sun Apr  4 03:00:00 1943 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 15 00:59:59 1943 UTC = Sun Aug 15 02:59:59 1943 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 15 01:00:00 1943 UTC = Sun Aug 15 02:00:00 1943 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  2 00:59:59 1944 UTC = Sun Apr  2 01:59:59 1944 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr  2 01:00:00 1944 UTC = Sun Apr  2 03:00:00 1944 BDST isdst=1 gmtoff=7200
Europe/London  Sun Sep 17 00:59:59 1944 UTC = Sun Sep 17 02:59:59 1944 BDST isdst=1 gmtoff=7200
Europe/London  Sun Sep 17 01:00:00 1944 UTC = Sun Sep 17 02:00:00 1944 BST isdst=1 gmtoff=3600
Europe/London  Mon Apr  2 00:59:59 1945 UTC = Mon Apr  2 01:59:59 1945 BST isdst=1 gmtoff=3600
Europe/London  Mon Apr  2 01:00:00 1945 UTC = Mon Apr  2 03:00:00 1945 BDST isdst=1 gmtoff=7200
Europe/London  Sun Jul 15 00:59:59 1945 UTC = Sun Jul 15 02:59:59 1945 BDST isdst=1 gmtoff=7200
Europe/London  Sun Jul 15 01:00:00 1945 UTC = Sun Jul 15 02:00:00 1945 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  7 01:59:59 1945 UTC = Sun Oct  7 02:59:59 1945 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  7 02:00:00 1945 UTC = Sun Oct  7 02:00:00 1945 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr 14 01:59:59 1946 UTC = Sun Apr 14 01:59:59 1946 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr 14 02:00:00 1946 UTC = Sun Apr 14 03:00:00 1946 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  6 01:59:59 1946 UTC = Sun Oct  6 02:59:59 1946 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct  6 02:00:00 1946 UTC = Sun Oct  6 02:00:00 1946 GMT isdst=0 gmtoff=0
Europe/London  Sun Mar 16 01:59:59 1947 UTC = Sun Mar 16 01:59:59 1947 GMT isdst=0 gmtoff=0
Europe/London  Sun Mar 16 02:00:00 1947 UTC = Sun Mar 16 03:00:00 1947 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr 13 00:59:59 1947 UTC = Sun Apr 13 01:59:59 1947 BST isdst=1 gmtoff=3600
Europe/London  Sun Apr 13 01:00:00 1947 UTC = Sun Apr 13 03:00:00 1947 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 10 00:59:59 1947 UTC = Sun Aug 10 02:59:59 1947 BDST isdst=1 gmtoff=7200
Europe/London  Sun Aug 10 01:00:00 1947 UTC = Sun Aug 10 02:00:00 1947 BST isdst=1 gmtoff=3600
Europe/London  Sun Nov  2 01:59:59 1947 UTC = Sun Nov  2 02:59:59 1947 BST isdst=1 gmtoff=3600
Europe/London  Sun Nov  2 02:00:00 1947 UTC = Sun Nov  2 02:00:00 1947 GMT isdst=0 gmtoff=0
Europe/London  Sun Mar 14 01:59:59 1948 UTC = Sun Mar 14 01:59:59 1948 GMT isdst=0 gmtoff=0
Europe/London  Sun Mar 14 02:00:00 1948 UTC = Sun Mar 14 03:00:00 1948 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 31 01:59:59 1948 UTC = Sun Oct 31 02:59:59 1948 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 31 02:00:00 1948 UTC = Sun Oct 31 02:00:00 1948 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr  3 01:59:59 1949 UTC = Sun Apr  3 01:59:59 1949 GMT isdst=0 gmtoff=0
Europe/London  Sun Apr  3 02:00:00 1949 UTC = Sun Apr  3 03:00:00 1949 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 30 01:59:59 1949 UTC = Sun Oct 30 02:59:59 1949 BST isdst=1 gmtoff=3600
Europe/London  Sun Oct 30 02:00:00 1949 UTC = Sun Oct 30 02:00:00 1949 GMT isdst=0 gmtoff=0
Europe/London  9223372036854689407 = NULL
Europe/London  9223372036854775807 = NULL
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 11:01:30 2024 UTC