Doc #74324 [Ver->Csd]: DateTimeZone supported timezone names
Edit report at https://bugs.php.net/bug.php?id=74324&edit=1
ID: 74324
Updated by: git@php.net
Reported by: graeme dot chapman at infinitycloud dot com
Summary: DateTimeZone supported timezone names
-Status: Verified
+Status: Closed
Type: Documentation Problem
Package: Date/time related
Operating System: Ubuntu
PHP Version: 5.6.30
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of derickr
Revision: https://github.com/php/doc-en/commit/071c7cace14d7f435981bf7f78a959d07be33571
Log: Fixed bug #74324: DateTimeZone supported timezone names
Previous Comments:
------------------------------------------------------------------------
[2017-03-28 10:28:10] derick@php.net
Supporting "+02:00" and the like, is new functionality since PHP 5.5. PHP 5.4 and earlier
did not support this. We simply forgot to add this to the documentation.
------------------------------------------------------------------------
[2017-03-28 08:58:50] graeme dot chapman at infinitycloud dot com
@requinix Makes sense. Think this needs a little update to the docs to clarify this though!
------------------------------------------------------------------------
[2017-03-28 08:39:19] requinix@php.net
timelib (which PHP uses) explicitly supports offset notation in addition to the usual named
timezones; see the "tzcorrection" format in
http://php.net/manual/en/datetime.formats.time.php
Ref:
https://github.com/php/php-src/blob/PHP-5.6.30/ext/date/lib/parse_date.re#L746
https://github.com/php/php-src/blob/PHP-5.6.30/ext/date/lib/timelib.c#L311
------------------------------------------------------------------------
[2017-03-28 08:12:07] graeme dot chapman at infinitycloud dot com
Description:
------------
---
From manual page: http://www.php.net/datetimezone.construct
---
The documentation states that the DateTimeZone constructor accepts 'One of the supported
timezone names(http://php.net/manual/en/timezones.php).'
However, it also appears to accept offset values. Unsure if this is expected but undocumented
behaviour, or a bug. In PHP 5.5.9 this throws an exception.
Test script:
---------------
var_dump(new DateTimeZone('+0200'));
Expected result:
----------------
Uncaught exception 'Exception' with message 'DateTimeZone::__construct(): Unknown or
bad timezone (+0200)'
Actual result:
--------------
object(DateTimeZone)#1 (2) {
["timezone_type"]=>
int(1)
["timezone"]=>
string(6) "+02:00"
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=74324&edit=1
Thread (5 messages)