如何在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
极客教程