python:UTC到当地夏令时

时间:2015-03-09 01:45:36

标签: python python-dateutil

现在,在我的时区节省了夏令时,我在将UTC转换为当地时遇到了问题。

>>> from dateutil.parser import parse
>>> from dateutil import tz
>>> dt = parse('1:30').replace(tzinfo=tz.tzutc())
>>> dt
datetime.datetime(2015, 3, 8, 1, 30, tzinfo=tzutc())
>>> dt = dt.astimezone(tz.tzlocal())
>>> dt
datetime.datetime(2015, 3, 7, 20, 30, tzinfo=tzlocal())

当它是当地时间的1:30 UTC时间,但我现在是20:30,如果我们没有改为夏令时,这将是正确的早上。

我感觉我错过了一些明显的东西。

1 个答案:

答案 0 :(得分:2)

我想我看到了问题。您从3月8日的UTC时间1:30开始。这相当于东部时间在夏令时生效之前的时间,因为夏令时在3月8日当地时间凌晨2点生效。尝试使用测试的UTC时间稍晚,它应该可以工作。