在智利,这种情况非常特殊,因为夏令时更改的日子每年都不同......
是否有一个函数可以在给定的 UTC 时间获取给定日期的 UTC 偏移量?
我在Suse 文档中看到类似的东西zdump -v /usr/share/zoneinfo/Chile/Continental
使我能够获得多年来的所有更改,但这项工作仍然必须完成......有什么命令可以做到这一点吗?
或者/并且是否有从给定时区到UTC的给定日期和时间的函数?而它的反面呢?
linux 如何处理这些变化?没有找到比 Suse 更多的文档。
您可以使用该
date
命令。您设置时区,然后指定日期和时间。该命令将返回带有 -03 或 -04 的时间,因此您将知道 DST 是否生效。例如,对于智利/大陆:
今年夏令时变更前:
今年夏令时变更后:
要撤消该操作,只需将 TZ 设置为 UTC 并更改偏移量:
根据Eduardo Trapani 的回答,我的最终答案是
TZ=Chile/Continental date --date='TZ=Chile/Continental date --date='2020-04-05 02:00:15 +00' +%z
这使-0300
TZ=Chile/Continental date --date='2020-04-05 04:00:15 +00' +%z
这使-0400
列出区域
ls -l /usr/share/zoneinfo/
查看特定区域的详细信息
zdump -v /usr/share/zoneinfo/Chile/Continental