使用pytz时区与时区字符串替换时区时的奇怪行为

时间:2015-07-22 17:47:17

标签: python datetime pytz

我希望使用' US / Central'替换tzinfo,会产生与使用时区对象(pytz.timezone('US/Central'))相同的结果,但显然它是&#39}不:

In [5]: import arrow
In [6]: d = arrow.get()
In [7]: cst = pytz.timezone('US/Central')

In [8]: d.replace(tzinfo=cst)
Out[8]: <Arrow [2015-07-22T17:40:30.947579-06:00]>

In [9]: d.replace(tzinfo='US/Central')
Out[9]: <Arrow [2015-07-22T17:40:30.947579-05:00]>

注意第8行的输出与第9行的输出有不同的UTC偏移。

使用Arrow和pytz替换时区的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

这似乎是一个错误。我猜你在看issue 154 -

  

.to()与pytz.timezone

不兼容

您可能会看到.replace()方法的相同内容。问题仍然存在。

我会说使用箭头,似乎目前箭头和pytz不兼容。