问题:Python日期时间与时间模块之间的差异
我试图弄清楚datetime
和time
模块之间的区别,以及每个模块的用途。
我知道datetime
提供日期和时间。该time
模块的用途是什么?
将理解示例,并且将特别关注与时区有关的差异。
回答 0
该time
模块主要用于处理unix时间戳;表示为一个浮点数,以距unix纪元的秒数为单位。该datetime
模块可以支持许多相同的操作,但是提供了更多的面向对象的类型集,并且对时区的支持有限。
回答 1
坚决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
。
回答 2
当您只需要特定记录的时间时,可以使用时间模块-假设您每天有一个单独的表/文件用于交易,那么您只需要时间。但是,时间数据类型通常用于存储2个时间点之间的时间差。
这也可以使用datetime完成,但是如果我们只处理特定日期的时间,则可以使用time模块。
日期时间用于存储特定数据和记录时间。就像在出租公司里一样。截止日期将是datetime数据类型。
回答 3
如果您对时区感兴趣,则应考虑使用pytz。