我正在努力解决 Python 中看似常见的时区问题,但无法解决它或找到我在 SO 上遇到的确切问题,所以我提出以下问题。
我有一个没有设置时区的时间元组。我也有一个时区。我的电脑在不同的时区。考虑到夏令时,如何将时间转换为当地时间?
>>> type(dt.value)
<type 'datetime.datetime'>
>>> print dt.timetuple()
time.struct_time(tm_year=2012, tm_mon=6, tm_mday=28, ..., tm_isdst=-1)
>>> print somezone.zone
America/New_York
如果我将区域信息添加到dt
如下所示,则 DST 处理不正确......tm_isdst
始终显示为零,无论月份是否处于 DST 中。
dt.value = dt.value.replace(tzinfo=somezone)
>>> print dt.timetuple()
time.struct_time(tm_year=2012, tm_mon=6, tm_mday=28, ..., tm_isdst=0)