最佳答案
我使用的代码给出了 UTC 时间戳,我想将它们转换为适当的日期时间。不幸的是,当我使用 pytz 测试简单案例时,日期时间增加了6个小时(CST 偏移到 UTC)。我需要保持时区数据的正确性,因为我也在计算其他时区之间的差异。知道为什么以及如何将 UTC 时间戳转换为 UTC 日期时间吗?
In [1]: import pytz
In [2]: from datetime import datetime
In [3]: import time
In [4]: datetime.fromtimestamp(time.mktime(datetime(7,1,1, tzinfo=pytz.UTC).timetuple()), tz=pytz.UTC)
Out[4]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)
In [5]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()), tz=pytz.UTC)
Out[5]: datetime.datetime(2007, 1, 1, 6, 0, tzinfo=<UTC>)
In [6]: datetime.fromtimestamp(time.mktime(datetime(7,1,1).utctimetuple()))
Out[6]: datetime.datetime(2007, 1, 1, 0, 0)