我试图弄清楚 datetime和 time模块之间的区别,以及每个模块应该用于什么。
datetime
time
我知道 datetime既提供日期又提供时间。 time模块有什么用?
这方面的例子将受到赞赏,关于时区的分歧尤其令人感兴趣。
时间模块可以在您只需要特定记录的时间时使用——例如,假设您有一个单独的表/文件用于每天的事务,那么您只需要时间。 然而,时间数据类型通常用于存储两个时间点之间的时间 不同。
这也可以使用 datetime 完成,但是如果我们只处理特定日期的时间,那么可以使用 time 模块。
日期时间用于存储记录的特定数据和时间。比如租赁公司。到期日期将是一个日期时间数据类型。
time模块主要用于处理 Unix 时间戳; 表示为自 Unix 时代以来的秒数浮点数。datetime模块可以支持许多相同的操作,但是提供了一组更面向对象的类型,并且对时区的支持有限。
如果您对时区感兴趣,那么应该考虑使用 pytz。
对于 防止日光节约时间(DST)的模糊问题,只使用系统 time模块而不使用 datetime模块。
转换为任何时间格式(包括本地时间)都很容易:
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()是明确时间戳的理想选择。
time.time()
如果系统额外运行的 网络时间协议 dæmon,一个结束了一个相当坚实的时间基础。
这是 time模块的 文件。
只是注意到 time比 datetime多一个数字更精确。
import time as tm from datetime import datetime as dt restime = tm.time() resdtime = dt.timestamp(dt.now()) print("TIME:".rjust(10," "),restime) print("DATETIME:".rjust(10," "),resdtime)
输出
TIME: 1637357103.7650678 DATETIME: 1637357103.765067