首先,不要包含
time.strftime('%Z')您的格式。您要告诉它当前的GMT偏移量(包括夏令时关闭),并且[可能]使用它来设置tm_isdst。
没有这个,你应该得到一个结构体
tm_isdst=-1:
>>> time1 = time.strptime("2012-06-01 12:00:00", "%Y-%m-%d %H:%M:%S")>>> time1time.struct_time(tm_year=2012, tm_mon=6, tm_mday=1, tm_hour=12, tm_min=0,tm_sec=0, tm_wday=4, tm_yday=153, tm_isdst=-1)
现在,您可以将其传递给mktime,它将根据给定的
-1值“猜测” DST值(我将“
guess”用引号引起来,因为除了模棱两可的2AM情况之外,它总是正确的)。这将以
time()格式给出绝对时间。
>>> time.mktime([previous value]) # my timezone is US Eastern1338566400.0
然后,您可以使用此值调用localtime,它将具有正确设置的DST标志:
>>> time.localtime(1338566400).tm_isdst1
您也可以跳过strptime步骤,并将值直接传递给mktime:
>>> time.mktime((2012,6,1,12,0,0,-1,-1,-1))1338566400.0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)