在咱們的MiniHub產品上,時區是經過設置TZ環境變量或者設置/etc/TZ變量獲得的。函數
這個能夠查libc庫源碼閱讀 tzset() 得知:spa
在函數 read_TZ_file() 函數中,從 /etc/TZ 中讀取時區串。源碼
系統幫助是這麼說的:產品
若是 TZ 環境變量沒有設置,或值是空的,或者不能解析,那麼系統就以 UTC 時間返回。變量
TZ 的格式以下: std offset[dst[offset][,start[/time],end[/time]]],中間沒有空格。
具體以下:file
好比 New Zealand 例子,TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"
那裏的標準時間NZST是相對UTC時間提早了12小時,日照時間相對UTC提早13小時。
夏令時從10月的第1個星期日到3月的第3個星期日結束。im
好了,只介紹這裏。img
試一下:環境變量
如上,第一個設定爲東8區,時間正常。
第二個設置爲-8:30,結果時間提早了30分鐘。
第三個添加了DDS,則時間再提交1小時。時間