在Python中获取不受夏令时影响的当前时间
我在tzinfo的文档里搞不清楚状况。
我想为我的位置创建一个日期时间对象,但不想考虑夏令时的调整。
现在我在用一些很笨的方法来解决这个问题:
import time
import datetime
now=datetime.datetime.now()
if time.localtime().tm_isdst==1:
now=now+datetime.timedelta(hours=-1)
那正确的方法是什么呢?
1 个回答
6
如果你真的想要创建一个“虚假的”时间,去掉夏令时的影响,你现在的做法是可以的。
不过,处理日期的最佳方法是内部所有日期都用协调世界时(UTC)来表示,只有在用户交互时才考虑时区的差异。这样你就不用担心那些复杂的细节了。
为了让你的程序支持所有时区,可以考虑使用 PyTZ 这个库。