python – 从日期和时区计算tm_isdst
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 从日期和时区计算tm_isdst,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1049字,纯文字阅读大概需要2分钟。
内容图文
![python – 从日期和时区计算tm_isdst](/upload/InfoBanner/zyjiaocheng/699/8f949d8d029943ba8644d137ccc1618a.jpg)
当我跑线
time.strptime("2012-06-01 12:00:00 "+time.strftime("%Z"), "%Y-%m-%d %H:%M:%S %Z")
它为我创建了一个结构,但标志tm_isdst是错误的.在6月1日,DST处于活动状态,但无论我输入什么日期,tm_isdst标志始终设置为localtime()中的状态.我需要知道DST在我输入的日期是否有效.
解决方法:
首先,不要在格式中包含time.strftime(‘%Z’).你告诉它你当前的GMT偏移(包括夏令时关闭),并且[可能]使用它来设置tm_isdst.
没有它,你应该得到一个tm_isdst = -1的结构:
>>> time1 = time.strptime("2012-06-01 12:00:00", "%Y-%m-%d %H:%M:%S")
>>> time1
time.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值(我将“猜测”放在引号中,因为除了模糊的2AM情况外它总是正确的).这将给出绝对时间()格式.
>>> time.mktime([previous value]) # my timezone is US Eastern
1338566400.0
然后你可以用这个值调用localtime,它将有一个正确设置的DST标志:
>>> time.localtime(1338566400).tm_isdst
1
您也可以跳过strptime步骤并直接将值传递给mktime:
>>> time.mktime((2012,6,1,12,0,0,-1,-1,-1))
1338566400.0
内容总结
以上是互联网集市为您收集整理的python – 从日期和时区计算tm_isdst全部内容,希望文章能够帮你解决python – 从日期和时区计算tm_isdst所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。