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
 [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

Add a Patch

Pull Requests

Add a Pull Request

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-2019 The PHP Group
All rights reserved.
Last updated: Mon May 27 01:01:25 2019 UTC