在咱们的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小时。时间