从日期和时区计算tm_isdst

从日期和时区计算tm_isdst,第1张

从日期和时区计算tm_isdst

首先,不要包含

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存