datetime 忽略 tzinfo?

datetime ignores tzinfo?

我可能误解了 tzinfo 的用途,但我有一个日期时间对象 dt 我设法进入了这种形式:

datetime.datetime(2017, 7, 2, 20, 0, tzinfo=tzoffset('PDT', -7))

我试图表示 2017 年 7 月 2 日的上述日期 20:00 PDT。

现在,我想将该时间转换为 UTC,但是当我这样做时,它输出 July 2nd 2017 20:00 UTC 的 UTC 时间戳,它不应用 7 小时差异。

例如:

>>> dt.timestamp()
1499025607.0

即:Sunday, July 2, 2017 8:00:07 PM

还有

>>> dt.isoformat()
'2017-07-02T20:00:00-00:00:07'

我试过了

>>> dt.astimezone(pytz.UTC).timestamp()
1499025607.0

注意时间戳与 dt.timestamp()

相同

根据 dateutil docs,您给 tzoffset() 函数的参数是错误的。

tzinfo=dateutil.tz.tzoffset('PDT', -7)

创建偏移量为 7 秒的时区。

tzinfo=dateutil.tz.tzoffset('PDT', -7*60*60)

创建一个时差为 7 小时的时区。