Linux

Linux在給定日期和時間從目前(或其他)時區獲取UTC偏移量

  • June 9, 2020

在智利,這種情況非常特殊,因為夏令時更改的日子每年都不同……

是否有一個函式可以在給定的 UTC 時間獲取給定日期的 UTC 偏移量?

我在Suse 文件中看到類似的東西zdump -v /usr/share/zoneinfo/Chile/Continental使我能夠獲得多年來的所有更改,但這項工作仍然必須完成……有什麼命令可以做到這一點嗎?

或者/並且是否有從給定時區到UTC的給定日期和時間的函式?而它的反面呢?

linux 如何處理這些變化?沒有找到比 Suse 更多的文件。

您可以使用該date命令。您設置時區,然後指定日期和時間。該命令將返回帶有 -03 或 -04 的時間,因此您將知道 DST 是否生效。

例如,對於智利/大陸:

今年夏令時變更前:

$ TZ=Chile/Continental date --date='2020-04-03 11:00 +00'
Fri Apr  3 11:00:00 -03 2020

今年夏令時變更後:

$ TZ=Chile/Continental date --date='2020-04-06 11:00 +00'
Mon Apr  6 11:00:00 -04 2020

要撤消該操作,只需將 TZ 設置為 UTC 並更改偏移量:

$ TZ=UTC date --date='2020-04-03 11:00 -04'

引用自:https://serverfault.com/questions/1020446