You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Timezone Europe/Berlin does not have DST transitions #268
With a current PHP 8.1 build, we see these when running the date & time test suite.
PHP 8.0, expected result
$ xp -w 'use util\{Date, TimeZone}; $tz= new TimeZone("Europe/Berlin"); return $tz->previousTransition(Date::now())'
util.TimeZoneTransition@{
transition at: 2021-03-28 03:00:00+0200
transition to: 7200 (CEST), DST
}
PHP 8.1-dev, incorrect
$ xp -w 'use util\{Date, TimeZone}; $tz= new TimeZone("Europe/Berlin"); return $tz->previousTransition(Date::now())'
Uncaught exception: Exception lang.IllegalArgumentException (Timezone Europe/Berlin does not have DST transitions.)
# ...
$ xp -e 'phpinfo()'| head -8
phpinfo()
PHP Version => 8.1.0-dev
System => Windows NT SURFACE 10.0 build 19042 (Windows 10) AMD64
Build Date => Apr 16 2021 23:42:47
Build System => Microsoft Windows Server 2019 Datacenter [10.0.17763]
Compiler => Visual C++ 2019
Architecture => x64
This is a tricky one. The data format that the library uses has changed, and will now only contain a list of transitions up until the last time the rules changed.
For America/New_York, that was in 2007, and Europe/London, in 1996
Activity
thekid commentedon Apr 17, 2021
Most probably related to php/php-src@091c092, which is a huge diff (52,924 additions and 29,617 deletions).
I've opened a PHP bug: https://bugs.php.net/bug.php?id=80963
thekid commentedon Apr 18, 2021
Quoting from the bug:
Remove PHP 8.1 for the moment
Ignore tests related to timezone transitions for the moment
thekid commentedon Apr 25, 2021
The tests in question have been disabled for the time being by only running them with PHP up until 8.1.0-dev:
thekid commentedon Aug 21, 2021
https://bugs.php.net/bug.php?id=80963 was closed on August 8th, retesting with current PHP verifies this once again works as expected.
Remove skipping tests for PHP 8.1.0