首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >澳大利亚DST时区缩写在使用date_default_timezone_set时不正确

澳大利亚DST时区缩写在使用date_default_timezone_set时不正确
EN

Stack Overflow用户
提问于 2014-10-05 01:12:05
回答 1查看 4K关注 0票数 4

我试图使用PHP的date_default_timezone_set函数来表示不同时区中的UTC时间戳。日光节约刚刚在这里(新西兰)和澳大利亚开始,我得到的结果好坏参半.

这是一些测试代码..。

代码语言:javascript
运行
复制
date_default_timezone_set('NZ');
print '<p>NZ time is ' . date('Y-m-d H:i:s T (I)') . '</p>';

date_default_timezone_set('Australia/NSW');
print '<p>NSW time is ' . date('Y-m-d H:i:s T (I)') . '</p>';

date_default_timezone_set('Australia/North');
print '<p>NT time is ' . date('Y-m-d H:i:s T (I)') . '</p>';

date_default_timezone_set('Australia/South');
print '<p>SA time is ' . date('Y-m-d H:i:s T (I)') . '</p>';

我从中得到这个输出..。

代码语言:javascript
运行
复制
NZ time is 2014-10-05 14:04:27 NZDT (1)

NSW time is 2014-10-05 12:04:27 EST (1)

NT time is 2014-10-05 10:34:27 CST (0)

SA time is 2014-10-05 11:34:27 CST (1)

现在,NZ时区缩写是正确的(NZDT),所有澳大利亚时间都是正确的,但是夏时制活动的两个澳大利亚时间(如php date 'I‘格式字符所示,如果日光节约到位,返回'1’)仍然显示非DST缩写。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-05 06:24:26

有几件事:

  • 只要有可能,您应该更喜欢时区名称的规范形式。您提到的区域实际上是链接(也称为别名)。有关细节,请参阅这张图表。具体地说: 新西兰=> Pacific/澳大利亚奥克兰/新南威尔士州=>澳大利亚/澳大利亚悉尼/澳大利亚北部=> /澳大利亚达尔文/南=>澳大利亚/阿德莱德
  • 事实上,澳大利亚有5个主要地区的时区规则各不相同。有关详细信息,请参阅这篇维基百科文章
  • Australia/Darwin (又名Australia/North)根本不遵守夏令时。
  • 另外两个时区(悉尼和阿德莱德)确实是在夏令时指定的日期和时间。然而,澳大利亚时区的名称和缩写不一定是绝对明确的。例如,以下所有人都提到了悉尼的日光名称:
代码语言:javascript
运行
复制
- Eastern Summer Time  (EST)
- Australian Eastern Summer Time  (AEST)
- Eastern Daylight Time (EDT)
- Australian Eastern Daylight Time (AEDT) 

  • PHP从IANA时区数据库中提取时区。时区缩写也取自同一来源。很长一段时间以来,这个数据集都使用了"EST“的模糊缩写来表示东部标准时间和东部夏季时间。
  • 最近在2014 f版本中对此进行了更改。您可以在发布说明中阅读详细信息。它现在使用AEST作为标准时间,AEDT用于白天时间。
  • 您可以通过将PHP的时间b更新到2014.6或更高版本来实现此更改。您可以找到更新这里这里的说明。
  • 或者,您可以只使用更新到PHP的最新版本。根据发布日期,我认为PHP5.3.29版本应该随timezonedb 2014.6一起发布。使用该版本或更新版本,您应该得到新的缩写。
  • 您还可以调用timezone_version_get()来查看具有哪个版本的timezonedb。接受新的缩写应该是2014.6或更高。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26198664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档