【问题标题】:Unexpected result when converting datetime(1970,1,1) to seconds将 datetime(1970,1,1) 转换为秒时出现意外结果
【发布时间】:2016-01-15 13:00:53
【问题描述】:

在 Python 3.5 中,当我将 POSIX 源 1970-01-01 转换为时间戳(以秒为单位)而不是 0 时,我得到以下结果:

import datetime as dt
t = dt.datetime(1970,1,1)
t.timestamp()
-10800.0

预计0 的生成者为:

t = dt.datetime(1970,1,1,3)
t.timestamp()
0.0

这两个结果都出乎我的意料。这种行为的原因可能是什么?

【问题讨论】:

标签: python datetime python-3.x timestamp posix


【解决方案1】:

根据文档:天真的日期时间实例被假定为表示本地时间

你得到一个负数,所以我猜你恰好在 UTC-3 (10800 / 60 / 60)(加上 3 小时你得到一个 0)

创建一个时区感知日期,您应该回到 0。

【讨论】:

  • 确实如此。我的意思是您当前当地时间的时区
猜你喜欢
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多