我迷失在tzinfo文档中。
我想为我的位置创建一个日期时间对象,该对象不包括夏令时调整。
目前我很丑陋地攻击它:
import time
import datetime
now=datetime.datetime.now()
if time.localtime().tm_isdst==1:
now=now+datetime.timedelta(hours=-1)
什么是正确的方式?
答案 0 :(得分:6)
如果您真的想通过消除DST的影响来创建“虚假”时间,那么您当前的解决方案将起作用。
但是,使用日期的最佳做法是在内部将所有日期表示为UTC,并且仅处理用户交互的时区差异。这样你就不必关心所有凌乱的细节了。
要为您的计划添加对所有时区的支持,请考虑使用PyTZ。