示例:
os.environment['TZ']="CST+06CDT,M4.1.0,M10.5.0">
我可以理解CST,06(从UTC或GMT偏移(,CDT==中央夏令时但是
M4.1.0和M10.5.0是什么意思?
以下是我的发现:
导出TZ=EST05EDT
EST取自下表。必须加上五个小时才能得到UTC,因此是05。目前,美国东部时间东部夏令时生效。
TZ=。
夏令时时区
0 BST for British Summer.
+400 ADT for Atlantic Daylight.
+500 EDT for Eastern Daylight.
+600 CDT for Central Daylight.
+700 MDT for Mountain Daylight.
+800 PDT for Pacific Daylight.
+900 YDT for Yukon Daylight.
+1000 HDT for Hawaii Daylight.
-100 MEST for Middle European Summer,
MESZ for Middle European Summer,
SST for Swedish Summer and FST for French Summer.
-700 WADT for West Australian Daylight.
-1000 EADT for Eastern Australian Daylight.
-1200 NZDT for New Zealand Daylight.
有没有一种更简单的方法可以回到我的正确时间?是的,只需取消设置TZ环境变量。
$ unset TZ
$ date
Sun Aug 22 10:17:35 EDT 2004
注意,即使TZ被调整为夏令时,你会在5个月后得到正确的时间吗?夏令时什么时候开始生效?下面显示的TZ值仅在正确的日期期间调整dst。例如,该条目将于4月第一周凌晨2点生效,并于10月第五周凌晨2时结束。注10.5.0表示10月的第5周,而不是第5天。
$ export TZ=EST+5EDT,M4.1.0/2,M10.5.0/2
来自python手册:
TZ的标准格式环境变量为(空白为清晰起见添加(:
std偏移[dst[offset[,开始[/time],结束[/time]]]
Mm.n.d第d天(0<=d<=6(或一年中的第m个月的第n周(1<=n<=5,1<=m<=12,其中第5周意味着"m月的最后一天",可能发生在第四或第五周(。第一周是第一周其中第d天发生。第0天是星期天。