为什么 Asia/Kuala_Lumpur 的时区缩写显示 +8 而不是 MYT?

发布于 2025-01-09 12:44:37 字数 252 浏览 0 评论 0原文

所以我试图从时区 Asia/Kuala_Lumpur 的日期获取时区缩写,例如我这样做:

$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone('Asia/Kuala_Lumpur'));
echo $dateTime->format('T');

输出是+08,不应该是MYT吗?

So i'm trying to get timezone abbreviation from date with timezone Asia/Kuala_Lumpur, when e.g. I do:

$dateTime = new DateTime();
$dateTime->setTimeZone(new DateTimeZone('Asia/Kuala_Lumpur'));
echo $dateTime->format('T');

is outputs +08, shouldn't it be MYT?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫轩蝶泪 2025-01-16 12:44:37

IANA 时区数据库源代码/数据可以在维护者的 GitHub 存储库中查看。 Asia/Kuala_Lumpur 的数据位于此处并使用“LMT”, “SMT”,然后是缩写的数值。

Zone Asia/Kuala_Lumpur  6:46:46 -    LMT    1901 Jan  1
                        6:55:25 -    SMT    1905 Jun  1 # Singapore M.T.
                        7:00    -    +07    1933 Jan  1
                        7:00    0:20 +0720  1936 Jan  1
                        7:20    -    +0720  1941 Sep  1
                        7:30    -    +0730  1942 Feb 16
                        9:00    -    +09    1945 Sep 12
                        7:30    -    +0730  1982 Jan  1
                        8:00    -    +08

所以 PHP 在传播时区数据库信息方面做了正确的事情。有时,如果维护者不知道公认的缩写,则使用数字作为缩写。如果您认为 MYT 在这里是正确的,我鼓励您发布到第一个链接上显示的邮件列表,最好附上证据来源。 (我一秒钟都不会怀疑你的知识 - 只是设定对数据库的更改需要证据的期望。)

The IANA time zone database source code/data can be seen in the maintainer's GitHub repository. The data for Asia/Kuala_Lumpur is here and uses "LMT", "SMT" and then numeric values for abbreviations.

Zone Asia/Kuala_Lumpur  6:46:46 -    LMT    1901 Jan  1
                        6:55:25 -    SMT    1905 Jun  1 # Singapore M.T.
                        7:00    -    +07    1933 Jan  1
                        7:00    0:20 +0720  1936 Jan  1
                        7:20    -    +0720  1941 Sep  1
                        7:30    -    +0730  1942 Feb 16
                        9:00    -    +09    1945 Sep 12
                        7:30    -    +0730  1982 Jan  1
                        8:00    -    +08

So PHP is doing the right thing in terms of propagating the time zone database information. Sometimes numbers are used for abbreviations if the maintainers are unaware of a well-accepted abbreviation. If you feel MYT would be correct here, I'd encourage you to post to the mailing list shown on the first link, ideally with sources of evidence. (I'm not doubting your knowledge for one second - just setting expectations that changes to the database require evidence.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文