我似乎很难理解这一点.
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
>>>
Run Code Online (Sandbox Code Playgroud)
sth*_*sth 97
time.mktime()假设传递的元组是在本地时间,calendar.timegm()假设它是GMT/UTC.根据解释,元组表示不同的时间,因此函数返回不同的值(自纪元以UTC为基础的秒数).
值之间的差异应等于本地时区的时区偏移量.
calendar.timegm从UTC时间戳time.mktime转换,从本地时间转换而不是UTC.
8小时的结果差异与您所在位置的时区完全一致.
| 归档时间: |
|
| 查看次数: |
43936 次 |
| 最近记录: |