使用pytz进行日期时间和时区转换-令人惊叹的行为

7 浏览
0 Comments

使用pytz进行日期时间和时区转换-令人惊叹的行为

我试图将带有时区信息的`datetime`对象转换为UTC,然后再转回到原来的时区。我有以下的片段:

t = datetime(
    2013, 11, 22, hour=11, minute=0,
    tzinfo=pytz.timezone('Europe/Warsaw')
)

现在在ipython中:

In [18]: t
Out[18]: datetime.datetime(
    2013, 11, 22, 11, 0, tzinfo=
)

现在让我们尝试将其转换为UTC然后再转回来。我期望得到与以下表示相同的结果:

In [19]: t.astimezone(pytz.utc).astimezone(pytz.timezone('Europe/Warsaw'))
Out[19]: datetime.datetime(
    2013, 11, 22, 10, 36, tzinfo=
)

然而我们可以看到`Out[18]`和`Out[19]`不同。发生了什么?

0