123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- --TEST--
- Bug #68549 (setting timezone around a DST transition)
- --CREDITS--
- Roel Harbers <roel.harbers@on2it.net>
- --FILE--
- <?php
- $timezonesWithTimestamps = [
- 'America/Los_Angeles' => [
-
-
- 1615687199,
- 1615687200,
- 1615687201,
- 1615690799,
- 1615690800,
- 1615690801,
- 1615708799,
- 1615708800,
- 1615708801,
- 1615712399,
- 1615712400,
- 1615712401,
- 1615715999,
- 1615716000,
- 1615716001,
- 1615719599,
- 1615719600,
- 1615719601,
-
- 1636246799,
- 1636246800,
- 1636246801,
- 1636250399,
- 1636250400,
- 1636250401,
- 1636268399,
- 1636268400,
- 1636268401,
- 1636271999,
- 1636272000,
- 1636272001,
- 1636275599,
- 1636275600,
- 1636275601,
- 1636279199,
- 1636279200,
- 1636279201,
- ],
- 'Atlantic/Azores' => [
-
-
- 1616889599,
- 1616889600,
- 1616889601,
- 1616893199,
- 1616893200,
- 1616893201,
- 1616896799,
- 1616896800,
- 1616896801,
-
- 1635638399,
- 1635638400,
- 1635638401,
- 1635641999,
- 1635642000,
- 1635642001,
- 1635645599,
- 1635645600,
- 1635645601,
- ],
- 'Europe/London' => [
-
-
- 1616889599,
- 1616889600,
- 1616889601,
- 1616893199,
- 1616893200,
- 1616893201,
- 1616896799,
- 1616896800,
- 1616896801,
-
- 1635638399,
- 1635638400,
- 1635638401,
- 1635641999,
- 1635642000,
- 1635642001,
- 1635645599,
- 1635645600,
- 1635645601,
- ],
- 'Europe/Amsterdam' => [
-
-
- 1616885999,
- 1616886000,
- 1616886001,
- 1616889599,
- 1616889600,
- 1616889601,
- 1616893199,
- 1616893200,
- 1616893201,
- 1616896799,
- 1616896800,
- 1616896801,
- 1616900399,
- 1616900400,
- 1616900401,
-
- 1635631199,
- 1635631200,
- 1635631201,
- 1635638399,
- 1635638400,
- 1635638401,
- 1635641999,
- 1635642000,
- 1635642001,
- 1635645599,
- 1635645600,
- 1635645601,
- 1635649199,
- 1635649200,
- 1635649201,
- ],
- ];
- foreach ($timezonesWithTimestamps as $timezone => $timestamps) {
- foreach ($timestamps as $timestamp) {
- $tz = new DateTimeZone($timezone);
- $dt = DateTime::createFromFormat('U', $timestamp);
- $dt->setTimezone($tz);
- printf("%s %d -> %d %s\n", $timezone, $timestamp, $dt->getTimestamp(), $dt->format(DateTimeInterface::ISO8601));
- }
- }
- ?>
- --EXPECT--
- America/Los_Angeles 1615687199 -> 1615687199 2021-03-13T17:59:59-0800
- America/Los_Angeles 1615687200 -> 1615687200 2021-03-13T18:00:00-0800
- America/Los_Angeles 1615687201 -> 1615687201 2021-03-13T18:00:01-0800
- America/Los_Angeles 1615690799 -> 1615690799 2021-03-13T18:59:59-0800
- America/Los_Angeles 1615690800 -> 1615690800 2021-03-13T19:00:00-0800
- America/Los_Angeles 1615690801 -> 1615690801 2021-03-13T19:00:01-0800
- America/Los_Angeles 1615708799 -> 1615708799 2021-03-13T23:59:59-0800
- America/Los_Angeles 1615708800 -> 1615708800 2021-03-14T00:00:00-0800
- America/Los_Angeles 1615708801 -> 1615708801 2021-03-14T00:00:01-0800
- America/Los_Angeles 1615712399 -> 1615712399 2021-03-14T00:59:59-0800
- America/Los_Angeles 1615712400 -> 1615712400 2021-03-14T01:00:00-0800
- America/Los_Angeles 1615712401 -> 1615712401 2021-03-14T01:00:01-0800
- America/Los_Angeles 1615715999 -> 1615715999 2021-03-14T01:59:59-0800
- America/Los_Angeles 1615716000 -> 1615716000 2021-03-14T03:00:00-0700
- America/Los_Angeles 1615716001 -> 1615716001 2021-03-14T03:00:01-0700
- America/Los_Angeles 1615719599 -> 1615719599 2021-03-14T03:59:59-0700
- America/Los_Angeles 1615719600 -> 1615719600 2021-03-14T04:00:00-0700
- America/Los_Angeles 1615719601 -> 1615719601 2021-03-14T04:00:01-0700
- America/Los_Angeles 1636246799 -> 1636246799 2021-11-06T17:59:59-0700
- America/Los_Angeles 1636246800 -> 1636246800 2021-11-06T18:00:00-0700
- America/Los_Angeles 1636246801 -> 1636246801 2021-11-06T18:00:01-0700
- America/Los_Angeles 1636250399 -> 1636250399 2021-11-06T18:59:59-0700
- America/Los_Angeles 1636250400 -> 1636250400 2021-11-06T19:00:00-0700
- America/Los_Angeles 1636250401 -> 1636250401 2021-11-06T19:00:01-0700
- America/Los_Angeles 1636268399 -> 1636268399 2021-11-06T23:59:59-0700
- America/Los_Angeles 1636268400 -> 1636268400 2021-11-07T00:00:00-0700
- America/Los_Angeles 1636268401 -> 1636268401 2021-11-07T00:00:01-0700
- America/Los_Angeles 1636271999 -> 1636271999 2021-11-07T00:59:59-0700
- America/Los_Angeles 1636272000 -> 1636272000 2021-11-07T01:00:00-0700
- America/Los_Angeles 1636272001 -> 1636272001 2021-11-07T01:00:01-0700
- America/Los_Angeles 1636275599 -> 1636275599 2021-11-07T01:59:59-0700
- America/Los_Angeles 1636275600 -> 1636275600 2021-11-07T01:00:00-0800
- America/Los_Angeles 1636275601 -> 1636275601 2021-11-07T01:00:01-0800
- America/Los_Angeles 1636279199 -> 1636279199 2021-11-07T01:59:59-0800
- America/Los_Angeles 1636279200 -> 1636279200 2021-11-07T02:00:00-0800
- America/Los_Angeles 1636279201 -> 1636279201 2021-11-07T02:00:01-0800
- Atlantic/Azores 1616889599 -> 1616889599 2021-03-27T22:59:59-0100
- Atlantic/Azores 1616889600 -> 1616889600 2021-03-27T23:00:00-0100
- Atlantic/Azores 1616889601 -> 1616889601 2021-03-27T23:00:01-0100
- Atlantic/Azores 1616893199 -> 1616893199 2021-03-27T23:59:59-0100
- Atlantic/Azores 1616893200 -> 1616893200 2021-03-28T01:00:00+0000
- Atlantic/Azores 1616893201 -> 1616893201 2021-03-28T01:00:01+0000
- Atlantic/Azores 1616896799 -> 1616896799 2021-03-28T01:59:59+0000
- Atlantic/Azores 1616896800 -> 1616896800 2021-03-28T02:00:00+0000
- Atlantic/Azores 1616896801 -> 1616896801 2021-03-28T02:00:01+0000
- Atlantic/Azores 1635638399 -> 1635638399 2021-10-30T23:59:59+0000
- Atlantic/Azores 1635638400 -> 1635638400 2021-10-31T00:00:00+0000
- Atlantic/Azores 1635638401 -> 1635638401 2021-10-31T00:00:01+0000
- Atlantic/Azores 1635641999 -> 1635641999 2021-10-31T00:59:59+0000
- Atlantic/Azores 1635642000 -> 1635642000 2021-10-31T00:00:00-0100
- Atlantic/Azores 1635642001 -> 1635642001 2021-10-31T00:00:01-0100
- Atlantic/Azores 1635645599 -> 1635645599 2021-10-31T00:59:59-0100
- Atlantic/Azores 1635645600 -> 1635645600 2021-10-31T01:00:00-0100
- Atlantic/Azores 1635645601 -> 1635645601 2021-10-31T01:00:01-0100
- Europe/London 1616889599 -> 1616889599 2021-03-27T23:59:59+0000
- Europe/London 1616889600 -> 1616889600 2021-03-28T00:00:00+0000
- Europe/London 1616889601 -> 1616889601 2021-03-28T00:00:01+0000
- Europe/London 1616893199 -> 1616893199 2021-03-28T00:59:59+0000
- Europe/London 1616893200 -> 1616893200 2021-03-28T02:00:00+0100
- Europe/London 1616893201 -> 1616893201 2021-03-28T02:00:01+0100
- Europe/London 1616896799 -> 1616896799 2021-03-28T02:59:59+0100
- Europe/London 1616896800 -> 1616896800 2021-03-28T03:00:00+0100
- Europe/London 1616896801 -> 1616896801 2021-03-28T03:00:01+0100
- Europe/London 1635638399 -> 1635638399 2021-10-31T00:59:59+0100
- Europe/London 1635638400 -> 1635638400 2021-10-31T01:00:00+0100
- Europe/London 1635638401 -> 1635638401 2021-10-31T01:00:01+0100
- Europe/London 1635641999 -> 1635641999 2021-10-31T01:59:59+0100
- Europe/London 1635642000 -> 1635642000 2021-10-31T01:00:00+0000
- Europe/London 1635642001 -> 1635642001 2021-10-31T01:00:01+0000
- Europe/London 1635645599 -> 1635645599 2021-10-31T01:59:59+0000
- Europe/London 1635645600 -> 1635645600 2021-10-31T02:00:00+0000
- Europe/London 1635645601 -> 1635645601 2021-10-31T02:00:01+0000
- Europe/Amsterdam 1616885999 -> 1616885999 2021-03-27T23:59:59+0100
- Europe/Amsterdam 1616886000 -> 1616886000 2021-03-28T00:00:00+0100
- Europe/Amsterdam 1616886001 -> 1616886001 2021-03-28T00:00:01+0100
- Europe/Amsterdam 1616889599 -> 1616889599 2021-03-28T00:59:59+0100
- Europe/Amsterdam 1616889600 -> 1616889600 2021-03-28T01:00:00+0100
- Europe/Amsterdam 1616889601 -> 1616889601 2021-03-28T01:00:01+0100
- Europe/Amsterdam 1616893199 -> 1616893199 2021-03-28T01:59:59+0100
- Europe/Amsterdam 1616893200 -> 1616893200 2021-03-28T03:00:00+0200
- Europe/Amsterdam 1616893201 -> 1616893201 2021-03-28T03:00:01+0200
- Europe/Amsterdam 1616896799 -> 1616896799 2021-03-28T03:59:59+0200
- Europe/Amsterdam 1616896800 -> 1616896800 2021-03-28T04:00:00+0200
- Europe/Amsterdam 1616896801 -> 1616896801 2021-03-28T04:00:01+0200
- Europe/Amsterdam 1616900399 -> 1616900399 2021-03-28T04:59:59+0200
- Europe/Amsterdam 1616900400 -> 1616900400 2021-03-28T05:00:00+0200
- Europe/Amsterdam 1616900401 -> 1616900401 2021-03-28T05:00:01+0200
- Europe/Amsterdam 1635631199 -> 1635631199 2021-10-30T23:59:59+0200
- Europe/Amsterdam 1635631200 -> 1635631200 2021-10-31T00:00:00+0200
- Europe/Amsterdam 1635631201 -> 1635631201 2021-10-31T00:00:01+0200
- Europe/Amsterdam 1635638399 -> 1635638399 2021-10-31T01:59:59+0200
- Europe/Amsterdam 1635638400 -> 1635638400 2021-10-31T02:00:00+0200
- Europe/Amsterdam 1635638401 -> 1635638401 2021-10-31T02:00:01+0200
- Europe/Amsterdam 1635641999 -> 1635641999 2021-10-31T02:59:59+0200
- Europe/Amsterdam 1635642000 -> 1635642000 2021-10-31T02:00:00+0100
- Europe/Amsterdam 1635642001 -> 1635642001 2021-10-31T02:00:01+0100
- Europe/Amsterdam 1635645599 -> 1635645599 2021-10-31T02:59:59+0100
- Europe/Amsterdam 1635645600 -> 1635645600 2021-10-31T03:00:00+0100
- Europe/Amsterdam 1635645601 -> 1635645601 2021-10-31T03:00:01+0100
- Europe/Amsterdam 1635649199 -> 1635649199 2021-10-31T03:59:59+0100
- Europe/Amsterdam 1635649200 -> 1635649200 2021-10-31T04:00:00+0100
- Europe/Amsterdam 1635649201 -> 1635649201 2021-10-31T04:00:01+0100
|