为什么亚洲/迪拜时区缩写在 timezonedb 和 tzdata 之间不同?

问题描述 投票:0回答:2

我正在使用 php timezonedb 2017.2。

为什么亚洲/迪拜时区返回 +04 而不是 GST?
虽然默认内置 php tzdata 返回 GST。

$dt = new DateTime('now', new DateTimezone('Asia/Dubai'));
$dt->format('T'); // returns either GST or +04

php -v = PHP 5.5.38 (cli)(构建时间:2016 年 10 月 25 日 18:30:32)

php timezone timezonedb
2个回答
6
投票

基本上,因为时区数据会随着时间的推移而变化。听起来

timezonedb
是最新的,但
tzdata
不是。

此更改是在 2017 年发布的 IANA 时区数据中进行的。

来自公告电子邮件 - 我的重点:

过去和未来时区缩写的更改

切换到南美洲的数字时区缩写,如 正在进行的删除发明缩写项目的一部分。 这避免了为新智利语发明缩写的需要 新区。 同样,从发明时区切换到数字时区 阿富汗、美属萨摩亚、亚速尔群岛的缩写, 孟加拉国、不丹、英属印度洋领地、文莱、 佛得角、查塔姆群岛、圣诞节 I、科科斯(基林)群岛、库克群岛、 迪拜、东帝汶、尤克拉、斐济、法属波利尼西亚、格陵兰、 印度支那、伊朗、伊拉克、基里巴斯、豪勋爵岛、麦格理、马来西亚、 马尔代夫、马绍尔群岛、毛里求斯、密克罗尼西亚、蒙古、 缅甸、瑙鲁、尼泊尔、新喀里多尼亚、纽埃、诺福克岛、帕劳、 巴布亚新几内亚、菲律宾、皮特凯恩、卡塔尔、留尼汪、圣 皮埃尔和密克隆群岛、萨摩亚、沙特阿拉伯、塞舌尔、新加坡、 所罗门群岛、托克劳群岛、图瓦卢、威克岛、瓦努阿图、瓦利斯和富图纳群岛以及 新疆; 1943年之前加纳实行20分钟夏令时; 1944 年之前伯利兹实行半小时夏令时 1975 年之前的多米尼加共和国;之前的加那利群岛 1946年,几内亚比绍,1975年之前,冰岛,1969年之前, 1942 年之前的印度夏令时间,1964 年左右之前的印度尼西亚, 1960 年之前的肯尼亚、1973 年之前的利比里亚、1973 年之前的马德拉 1967年,1943年之前的纳米比亚,1937-9年的荷兰, 1971 年之前的巴基斯坦、1977 年之前的西撒哈拉、1977 年之前的西撒哈拉 1880-1924 年的扎波罗热。


0
投票

GST 不明确,它代表“海湾标准时间”,也代表“南乔治亚时间”(不要问我为什么)。

根据我的经验,使用“亚洲/迪拜”等时区的全名总是更好,它可以防止任何歧义,并且更适合在代码中阅读。

© www.soinside.com 2019 - 2024. All rights reserved.