Debian
根據時間戳設置系統時區
我想根據如下所示的字元串設置系統日期和時區(Javascript 的輸出
new Date().toString()
):Fri Aug 01 2014 12:13:27 GMT+0200 (CEST)
在 Debian 系統上設置時區的標準方法是
tzselect
從. 在這兩種情況下,我都需要知道大陸/城市的時區。/usr/share/zoneinfo``/etc/localtime
是否有一種簡單的方法可以僅根據 GMT 偏移量設置時區?
通常,該日期字元串中沒有足夠的資訊來知道它是在哪個時區生成的。
+0200
唯一告訴您所討論的時區目前比 UTC 早兩個小時。它不會告訴您偏移量是否全年或每年都在變化,就像知道實際時區會告訴您一樣。至於CEST
部分,那些短時區名稱並不意味著是唯一的(幾個不同的時區可能都自稱CEST
)。正如您在評論中指出的那樣,您可以使用該字元串來猜測
Etc/*
與 UTC 始終處於固定偏移量的時區之一,僅此而已。而且,並非所有可能的偏移都作為Etc/*
時區存在,例如尼泊爾的 +0545。由於您還在評論中指出您只需要針對特定應用程序使用此功能,因此您可能有興趣使用 TZ 環境變數僅為目前程序(您的應用程序程序)更改時區?使用它你可以設置一個時區線:
TZ=CEST-2
您在引用的日期字元串中擁有所需的一切。(注意偏移量上的相反符號。)