Python time模块与datetime模块的区别

时间方面的编程在开发过程中是很常见的,而Python提供了datetimetime这两个关于时间的模块。接下来,我们将讨论这两个模块中的函数有什么区别。

  1. time模块:

如果你想要获取当前的本地时间,那么首先你需要运行time.time()来获取当下的时间戳。

import time

#获取目前的时间戳
time.time()
#输出: 1715254313.7382145

需要注意的是,该时间戳单位是秒(s),不是毫秒(ms)。

然后你需要格式化得到的时间戳,最后才能得到你想要的时间格式,比如%Y-%m-%d %H:%M:%S

time.localtime(time.time())
#输出: time.struct_time(tm_year=2024, tm_mon=5, tm_mday=9, tm_hour=19, tm_min=34, tm_sec=54, tm_wday=3, tm_yday=130, tm_isdst=0)
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
#输出: '2024-05-09 19:37:54'

在效率方面,运行time.time()100000000次需要花费5.5秒的时间

start = time.time() 
for _ in range(100000000): 
    pass 
end = time.time()
print("%.2f 秒"%(end-start))
#输出: 5.50 秒
  1. datetime模块:

在本模块中,想要获取当前本地时间,你首先需要运行datetime.datetime.now(),这会返回一个关于当前时间的datetime对象。

import datetime

datetime.datetime.now()
#输出: datetime.datetime(2024, 5, 9, 19, 43, 9, 36941)
接着你可以将得到的这个datetime对象转化成字符串,并设置成你想要的时间格式,如%Y-%m-%d %H:%M:%S。

datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
#输出: '2024-05-09 19:44:48'

在效率方面,运行datetime.datetime.now()100000000次花了5秒的时间

start = datetime.datetime.now()
while True:
    for i in range(100000000):
        pass
    break
end = datetime.datetime.now()
print(str((end-start).seconds)+"秒")
#输出: 5 秒

可见,用datetime获取当下时间的运行效率略高于用time的。

原文链接:Python time模块与datetime模块的区别
更多Python内容Python - 弦圈
更多其他精彩内容弦圈 - 找到属于你的圈子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值