【问题标题】:datetime ignores tzinfo?日期时间忽略tzinfo?
【发布时间】:2017-12-07 00:59:35
【问题描述】:

我可能误解了 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()的时间戳相同

【问题讨论】:

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


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多