gpt4 book ai didi

javascript - IANA (Internet Assigned Numbers Authority) 数据文件和来自 www.timeanddate.com 的数据

转载 作者:行者123 更新时间:2023-11-30 15:44:05 25 4
gpt4 key购买 nike

如何使用 IANA (Internet Assigned Numbers Authority) 数据文件估算本地时间?

在这个网站上我找到了以下数据: https://www.timeanddate.com/time/zone/uk/london

2015  Sun, 29 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
Sun, 25 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2016 Sun, 27 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
Sun, 30 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2017 Sun, 26 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
Sun, 29 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2018 Sun, 25 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
Sun, 28 Oct, 02:00BST → GMT-1 hour (DST end)UTC
2019 Sun, 31 Mar, 01:00GMT → BST+1 hour (DST start)UTC+1h
Sun, 27 Oct, 02:00BST → GMT-1 hour (DST end)UTC

如您所见,欧洲/伦敦时间更改规则每年都不同:2018 年规则适用于 3 月 25 日,2019 年 3 月 31 日,依此类推。

但我找不到有关 IANA 数据分布的信息。 https://www.iana.org/time-zones

来自 tzdata2016h.tar.gz,提取的文件 europe:

# Zone  NAME        GMTOFF  RULES   FORMAT  [UNTIL]
Zone Europe/London -0:01:15 - LMT 1847 Dec 1 0:00s
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST

也许我不明白如何使用 IANA 数据?如何提取 IANA 数据文件?

最佳答案

您首先查看 Europe/LondonZone 条目:

# Zone  NAME             GMTOFF RULES   FORMAT  [UNTIL]
Zone Europe/London -0:01:15 - LMT 1847 Dec 1 0:00s
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST

除最后一行外,每一行都以 [UNTIL] 日期结束。如果没有 [UNTIL] 日期,则表示无限远的 future 。所以伦敦目前由上表中的最后一行管理,该行表示 UTC 偏移量为 0:00,夏令时规则由 Rule EU 管理,要使用的缩写是 GMT 表示“标准”时间,BST 表示夏令时。

现在去寻找Rule EU:

# Rule      NAME    FROM    TO      TYPE    IN      ON       AT     SAVE    LETTER/S
Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
Rule EU 1977 only - Sep lastSun 1:00u 0 -
Rule EU 1978 only - Oct 1 1:00u 0 -
Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
Rule EU 1996 max - Oct lastSun 1:00u 0 -

您正在查找当前有效的规则。目前有两个,最后两行。

倒数第二行表示,从 1981 年开始,每年 3 月的最后一个星期日 01:00 UTC,1:00 添加到 UTC 偏移量(由 Zone).此示例中未使用包含 S 的最后一列。但是,如果 Zone 中指定的缩写包含 %s,则该字母将被替换为 %s

最后一行表示,从 1996 年开始,每年 10 月的最后一个星期日 01:00 UTC,0:00 添加到 UTC 偏移量(由 Zone 指定) .

Matt Johnson在下面的评论中添加:

You may also be interested in iana.org/time-zones/repository/tz-how-to.html

我认为这是一个非常重要的评论,它应该出现在答案中以获得更高的知名度。谢谢马特!

关于javascript - IANA (Internet Assigned Numbers Authority) 数据文件和来自 www.timeanddate.com 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40360032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com