如何在Python中比较calendar.timegm()与time.mktime()?

如果未明确说明,则Python中的日期时间功能/模块将采用本地时区中的所有内容。

time.mktime()假定传递的元组在本地时间,calendar.timegm()假定其在GMT / UTC中。

根据解释,元组表示不同的时间,因此函数返回不同的值(由于纪元是基于UTC的秒数)。

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

示例

import calendar
import time
from datetime import datetime
dt = datetime(2017, 12, 31)
print(time.mktime(dt.timetuple()))
print(calendar.timegm(dt.timetuple()))

输出结果

这将给出输出-

1514658600.0
1514678400