Answers:
该time
模块主要用于处理unix时间戳;表示为一个浮点数,以距unix纪元的秒数为单位。该datetime
模块可以支持许多相同的操作,但是提供了更多的面向对象的类型集,并且对时区的支持有限。
time
防止DST歧义。专门使用系统time
模块而不是datetime
模块,以防止夏令时(DST)引起歧义。
转换为任何时间格式(包括本地时间)都非常容易:
import time
t = time.time()
time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t))
'2019-05-27 12:03 CEST'
time.strftime('%Y-%m-%d %H:%M %Z', time.gmtime(t))
'2019-05-27 10:03 GMT'
time.time()
是一个浮点数,表示自系统纪元以来的时间(以秒为单位)。time.time()
非常适合明确的时间戳记。
如果系统另外运行了网络时间协议(NTP)守护程序,那么最终将获得相当可靠的时基。
这是该模块的文档time
。
time.localtime()
,当然可以放入DST。当然,如果我们要成为纯粹主义者,我们不应该使用它time.gmtime()
吗?:)
ipython
显示出time.gmtime()
一个元组,而time.time()
给出UNIX纪元时间为自1970年1月1日世界标准时间00:00:00以来经过的秒的十进制值。该函数time.localtime(t)
将纪元时间转换为本地时间时间元组。因此,您的问题的答案是“否”。
t = time.time()
是一个浮点数,表示自系统纪元以来的时间(以秒为单位)。因此,每天只需增加或减去86400秒即可;t += 86400
如果您对时区感兴趣,则应考虑使用pytz。
time
和之间有什么区别datetime.time
?