對於部署在海外的linux伺服器來說,拿到的機器時區和本地並不一樣,導致執行在上面的應用也面臨時區問題。所以有必要修改系統本地時區。
[root@shuai01 zoneinfo]# date -r
tue, 17 jan 2017 21:36:23 +0800
最後的+0800,即東8區。
然並卵的tzselect
命令
看起來很像乙個時區選擇的工具,但並非如此。事實上tzselect
僅僅是乙個檢視時區表示方式的『嚮導』程式而已。通過依次詢問大洲→國家→城市,最後告訴你如何tz變數的寫法,比如北京時間是:asia/shanghai
tz
變數
可以通過修改tz變數,直接修改時區資訊,比如:
[root@shuai01 ~]# date -r
tue, 17 jan 2017 13:57:06 +0000
[root@shuai01 ~]# export tz='asia/shanghai'
[root@shuai01 ~]# date -r
tue, 17 jan 2017 19:57:18 +0600
有linux經驗的小夥伴都知道,不寫在檔案裡的設定更改很難生效一般是會話級的,重新登入會消失。所以,這樣直接修改tz的尿性絕對做不到持久化更改時區的。
正確的方式是到/etc/profile
裡(或使用者的.profile或.bashrc檔案),直接exporttz
變數為要更改的時區(時區的名字可以用tzselect
嚮導來確定)
ln -sf /usr/share/zoneinfo/asia/shanghai /etc/localtime
tzselect
命令無法修改時區,僅給出時區的城市表示法
tz
變數和/etc/localtime
檔案會影響時區,並建議直接修改/etc/localtime
檔案。
如果在shell中臨時需要變更時區資訊,可以修改tz
變數實現。
在profile
檔案裡設定變數tz
,達到和修改/etc/localtime
類似的效果。
北京時間換算國際時間
題目內容 utc是世界協調時,bjt是北京時間,utc時間相當於bjt減去8。現在,你的程式要讀入乙個整數,表示bjt的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分 如果小時是0,則沒有百位部分 如果小時不是0而分小於10分,需要保留十位上的0 如果小時是0而...
UTC時間與北京時間
經常混淆於此,特地研究了一下,記錄在此以備忘。整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊場合,為了統一起見,使用乙個統一的時間,稱為通用協調時 utc,universal time coordinated utc與格林尼治平均時 gmt,greenwich mean tim...
UTC與北京時間
整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊場合,為了統一起見,使用乙個統一的時間,稱為通用協調時 utc,universal time coordinated utc與格林尼治平均時 gmt,greenwich mean time 一樣,都與英國倫敦的本地時相同。在本文中,...