加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用time.mktime的日期/时间转换似乎是错误的

发布时间:2020-12-20 12:15:08 所属栏目:Python 来源:网络整理
导读:import time time.strptime("01-31-2009","%m-%d-%Y")(2009,1,31,5,-1) time.mktime((2009,-1))1233378000.0 60*60*24 # seconds in a day86400 1233378000.0 / 8640014275.208333333334 time.mktime应该返回自纪元以来的秒数.因为我在午夜给它一个时间而且
>>> import time
>>> time.strptime("01-31-2009","%m-%d-%Y")
(2009,1,31,5,-1)
>>> time.mktime((2009,-1))
1233378000.0
>>> 60*60*24 # seconds in a day
86400
>>> 1233378000.0 / 86400
14275.208333333334

time.mktime应该返回自纪元以来的秒数.因为我在午夜给它一个时间而且这个时期在午夜,所以结果不应该被一天中的秒数整除吗?

解决方法

简短的回答:因为时区.

Epoch是UTC.

例如,我在IST(爱尔兰标准时间)或UTC 1. time.mktime()是相对于我的时区,所以在我的系统上这指的是

>>> time.mktime((2009,-1))
1233360000.0

因为你得到了结果1233378000,这表明你落后我5个小时

>>> (1233378000 - 1233360000) / (60*60)    
5

看看有关UTC的time.gmtime()功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读