Python-calendar.timegm()与time.mktime()

发布于 2021-01-29 19:04:31

我似乎很难解决这个问题。

calendar.timegm()和之间有什么区别time.mktime()

说我有一个datetime.datetime不带tzinfo的附件,两个不应该给出相同的输出吗?难道它们都没有给出从纪元到传递的日期之间的秒数吗?而且由于通过的日期没有tzinfo,所以秒数不一样吗?

>>> import calendar
>>> import time
>>> import datetime
>>> d = datetime.datetime(2010, 10, 10)
>>> calendar.timegm(d.timetuple())
1286668800
>>> time.mktime(d.timetuple())
1286640000.0
>>>
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    time.mktime()假定传递的元组在本地时间,calendar.timegm()假定在GMT
    / UTC中。根据解释,元组表示不同的时间,因此函数返回不同的值(由于历元是基于UTC的秒数)。

    值之间的差异应等于您当地时区的时区偏移量。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看