Edit report at https://bugs.php.net/bug.php?id=63777&edit=1

 ID:                 63777
 Comment by:         kavi at postpro dot net
 Reported by:        kavi at postpro dot net
 Summary:            DateTime obj in Dec 2012 in Australia/South TZ
                     reports 'CST' time zone abbrev
 Status:             Not a bug
 Type:               Bug
 Package:            Date/time related
 Operating System:   OS X, CentOS, Debian
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

Forget the prefix (ACDT vs CDT) portion.  Mirroring Olson is good.

If it's summer time in Australia, what does the 'D' in Australian CDT stand for?

The reason I bring this up is because I've researched online and there are a 
number of timekeeping and other sites which are in disagreement.

>From http://en.wikipedia.org/wiki/Time_in_Australia

"The main DST zones are the following:

    (Australian) Central Daylight Time (CDT or ACDT) – UTC+10:30, in South 
Australia
    (Australian) Eastern Daylight Time (EDT or AEDT) – UTC+11, in New South 
Wales, the A.C.T., Victoria, and Tasmania.

[...]

Beginning in 2008, the start of DST in these states and in South Australia 
occurs on the first Sunday in October, and its end is on the first Sunday in 
April."

According to this, DST-observing zones in Australia are currently observing DST 
during the Australian summer (whether it's called summer time or not) - so 
unless I have the meanings of 'S' and 'D' in CST/CDT incorrect, or I've 
otherwise reasoned incorrectly, this is still a bug.

According to Wolfram Alpha (Checked just now, 7 January 2013) it is CST right 
now: https://www.wolframalpha.com/input/?i=current+time+in+Adelaide

According to timeanddate.com (on 7 January 2013) it is CDT right now: 
http://www.timeanddate.com/worldclock/city.html?n=5

This does need attention, even if only to verify that it is truly not a bug.


Previous Comments:
------------------------------------------------------------------------
[2012-12-17 01:35:44] ahar...@php.net

Unfortunately, as a Western Australian who's suffered through our state 
government's various flip-flops on daylight saving, I'm much more familiar with 
this than I want to be — the Olson database is technically correct here, as 
every state legislates or proclaims daylight saving time as "summer time", so 
the S part of the CST abbreviation is correct. Beyond that, I think that the 
Olson notes and related mailing list posts lay out the case for not prefixing 
the abbreviations reasonably well.

Realistically, any change to this would need to happen upstream anyway — I 
doubt we want to start patching tzdata to differ from the mainline that almost 
everyone else deploys.

------------------------------------------------------------------------
[2012-12-15 04:38:26] ras...@php.net

Two things confuse me about this bug report. Surely it is summer in Australia 
right now, so why would you expect ACDT? And second, Olson has never used the 
'A' 
prefix and as far as I know most places don't. There is a long discussion on 
this 
in the Olson australasia file. I'll leave this as an exercise for the 
interested 
to look up. If you go to Google and search for "time in Adelaide" you get a CST 
time just like PHP provides.

------------------------------------------------------------------------
[2012-12-15 04:17:30] s...@php.net

Testcase confirmed with 5.3, 5.4, 5.5 from git. All use Olson 2012.10

------------------------------------------------------------------------
[2012-12-14 23:43:45] kavi at postpro dot net

See #50276 for a tangentially related bug about the Australian timezone 
abbreviations.

------------------------------------------------------------------------
[2012-12-14 23:42:34] kavi at postpro dot net

Description:
------------
Tried this on 5.3.3, 5.3.6 and 5.3.10, the latest available from the various OS 
vendors we have.  I have not yet successfully compiled 5.4.x to test there.

This occurs with the 2012.10 tzdata installed and verified with phpinfo().


Test script:
---------------
$date = new DateTime('now', new DateTimezone('Australia/South'));
echo $date->format('Y-m-d H:i:s T');

Expected result:
----------------
2012-12-15 10:10:13 ACDT

Actual result:
--------------
2012-12-15 10:10:13 CST


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63777&edit=1

Reply via email to