datetime忽略了tzinfo?

时间:2017-07-03 17:15:15

标签: python datetime python-datetime pytz python-dateutil

我可能误解了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()

的时间戳相同

1 个答案:

答案 0 :(得分:2)

根据dateutil docstzoffset()函数的参数错误。

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

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

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

创建一个偏移量为7小时的时区。