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 小时的时区。
我可能误解了 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 小时的时区。