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

吵闹

我正在尝试使用PHP的date_default_timezone_set函数表示不同时区的UTC时间戳。夏令时刚刚在这里(NZ)和澳大利亚开始,而我得到的结果好坏参半...

这是一些测试代码...

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>';

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

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的缩写。

有任何想法吗?

马特·约翰逊·品特

一些东西:

  • 您应该尽可能采用时区名称的规范形式。您提到的区域实际上是链接(又名别名)。有关详细信息,请参阅此图表具体来说:

    NZ              => Pacific/Auckland
    Australia/NSW   => Australia/Sydney
    Australia/North => Australia/Darwin
    Australia/South => Australia/Adelaide
    
  • 实际上,澳大利亚有5个主要地区的时区规则不同。您可能希望参考此Wikipedia文章以了解详细信息。

  • Australia/Darwin(aka Australia/North)根本没有遵守夏令时。

  • 实际上,其他两个时区(悉尼和阿德莱德)将在您指定的日期和时间处于夏令时。但是,澳大利亚时区的名称和缩写不一定绝对清楚。例如,以下所有地方都提到了悉尼的夏令时名称:

    • 东部夏令时间(EST)
    • 澳大利亚东部夏令时间(AEST)
    • 东部夏令时间(EDT)
    • 澳大利亚东部夏令时间(AEDT)

  • PHP从IANA时区数据库中提取其时区时区缩写也来自同一来源。长期以来,该数据集在东部标准时间和东部夏令时均使用“ EST”的缩写。

  • 最近在2014f版本中对此进行了更改您可以在发行说明中阅读详细信息现在,它将AEST用于标准时间,将AEDT用于白天。

  • 您可以通过将PHP的timezonedb更新到2014.6或更高版本来获得此更改您可以在此处此处找到更新说明

  • 或者,您可以只更新到最新版本的PHP根据发布日期,我认为PHP 5.3.29版本应该随timezonedb 2014.6一起提供。使用该版本或更高版本,您应该获得新的缩写。

  • 您也可以致电timezone_version_get()查看所用的timezonedb版本。接收新的缩写应该是2014.6或更大。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

date_default_timezone_set()时区损坏

来自分类Dev

date_default_timezone_set()似乎无效

来自分类Dev

date_default_timezone_set(); 无法运作

来自分类Dev

映射澳大利亚城市-R空间

来自分类Dev

验证ABN(澳大利亚业务编号)

来自分类Dev

LoadFrame(MFC)仅在澳大利亚失败

来自分类Dev

LoadFrame(MFC)仅在澳大利亚失败

来自分类Dev

date_default_timezone_set()有问题吗?

来自分类Dev

DateTime使用不正确的时区

来自分类Dev

DateTime使用不正确的时区

来自分类Dev

似乎每次需要使用同一脚本处理日期时,我都需要重复date_default_timezone_set()

来自分类Dev

php7的date_default_timezone_set或ini_set(date.timezone)

来自分类Dev

使用R从网站上提取澳大利亚经纬度的高程

来自分类Dev

在 NodaTime 中如何处理澳大利亚/墨尔本和澳大利亚/维多利亚?

来自分类Dev

Paypal Restful API可用性澳大利亚

来自分类Dev

Google地方信息自动完成仅限澳大利亚的限制

来自分类Dev

可以在澳大利亚托管getstream.io吗?

来自分类Dev

统计SDMX超时问题的澳大利亚统计局

来自分类Dev

与澳大利亚Google Cloud Storage的Snowflake连接

来自分类Dev

澳大利亚数据中心的DAC端点是什么?

来自分类Dev

Paypal Restful API可用性澳大利亚

来自分类Dev

在C#中验证ACN(澳大利亚公司编号)

来自分类Dev

“澳大利亚”键盘布局与美国有何不同?

来自分类Dev

澳大利亚地区数据集的 Cloud composer 问题

来自分类Dev

date-fns-timezone结果不正确?

来自分类Dev

无法使用Java8中的ZoneDateTime将IST [亚洲/加拿大]转换为AET [澳大利亚/悉尼]

来自分类Dev

date_default_timezone_set产生奇怪的结果,这有什么用?

来自分类Dev

检入PHP是否已调用date_default_timezone_set()

来自分类Dev

使用bulletspan时换行不正确

Related 相关文章

  1. 1

    date_default_timezone_set()时区损坏

  2. 2

    date_default_timezone_set()似乎无效

  3. 3

    date_default_timezone_set(); 无法运作

  4. 4

    映射澳大利亚城市-R空间

  5. 5

    验证ABN(澳大利亚业务编号)

  6. 6

    LoadFrame(MFC)仅在澳大利亚失败

  7. 7

    LoadFrame(MFC)仅在澳大利亚失败

  8. 8

    date_default_timezone_set()有问题吗?

  9. 9

    DateTime使用不正确的时区

  10. 10

    DateTime使用不正确的时区

  11. 11

    似乎每次需要使用同一脚本处理日期时,我都需要重复date_default_timezone_set()

  12. 12

    php7的date_default_timezone_set或ini_set(date.timezone)

  13. 13

    使用R从网站上提取澳大利亚经纬度的高程

  14. 14

    在 NodaTime 中如何处理澳大利亚/墨尔本和澳大利亚/维多利亚?

  15. 15

    Paypal Restful API可用性澳大利亚

  16. 16

    Google地方信息自动完成仅限澳大利亚的限制

  17. 17

    可以在澳大利亚托管getstream.io吗?

  18. 18

    统计SDMX超时问题的澳大利亚统计局

  19. 19

    与澳大利亚Google Cloud Storage的Snowflake连接

  20. 20

    澳大利亚数据中心的DAC端点是什么?

  21. 21

    Paypal Restful API可用性澳大利亚

  22. 22

    在C#中验证ACN(澳大利亚公司编号)

  23. 23

    “澳大利亚”键盘布局与美国有何不同?

  24. 24

    澳大利亚地区数据集的 Cloud composer 问题

  25. 25

    date-fns-timezone结果不正确?

  26. 26

    无法使用Java8中的ZoneDateTime将IST [亚洲/加拿大]转换为AET [澳大利亚/悉尼]

  27. 27

    date_default_timezone_set产生奇怪的结果,这有什么用?

  28. 28

    检入PHP是否已调用date_default_timezone_set()

  29. 29

    使用bulletspan时换行不正确

热门标签

归档