python语言基础-4 常用模块-4.2 time模块
声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。
4.2 time模块
python中提供了处理时间的标准库time。利用time库可以获取时间、进行时间格式转换或用于程序计时。
4.2.1 获取时间
time模块中提供了一些常用的方法用于时间的获取。如下:
import timetime.time() # 获取当前的时间戳time.ctime() # 获取当前时间,并以易读的方式表示,返回值为字符串(如'Fri Jan 26 12:11:16 2018')。time.gmtime() # 获取当前时间,表示为计算机可处理的时间格式。打印结果:time.struct_time(tm_year=2024, tm_mon=3, tm_mday=30, tm_hour=9, tm_min=47, tm_sec=46, tm_wday=5, tm_yday=90, tm_isdst=0)
4.2.2 时间格式转换
计算机中使用的时间格式是时间戳(一个表示时间提浮点数),程序中可能用到时间的元组(如gmtime方法输出的那样),而人类可读的时间格式则是一定规则的字符串。因此,时间的格式转换是很重要的。
time中提供了一些常用的时间转换的方法如下:
import time'''
时间元组->时间字符串
'''
# time.strftime(tpl, ts)。将时间格式化为字符串输出;其中tpl是输出的模板,ts是时间元组格式即gmtime()返回的struct_time格式的时间
t = time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S", t))'''
时间字符串->时间元组
'''
# time.strptime(str, tpl)。将字符串格式的时间转化为时间元组;其中str是一个时间字符串(如2018-01-26 12:55:20),tpl为输入时间的模板(如"%Y-%m-%d %H:%M:%S")
time.strptime('2018-10-26 12:55:20', "%Y-%m-%d %H:%M:%S")'''
时间戳->特定格式的时间字符串
'''
# time.ctime(t)还可以将时间戳转换为常用的时间格式,其中t为时间戳
s = time.time()
time.ctime(s) # 打印结果为:Sat Mar 30 18:12:46 2024'''
时间戳->时间元组
'''
# time.localtime(t)将时间戳转换为一个时间元组,,其中t为时间戳
time.localtime(s) # 打印结果为:time.struct_time(tm_year=2024, tm_mon=3, tm_mday=30, tm_hour=18, tm_min=14, tm_sec=56, tm_wday=5, tm_yday=90, tm_isdst=0)'''
时间元组->时间戳
'''
# time.mktime(t)将一个时间元组转换为时间戳,其中t是一个时间元组
time.mktime(t) # 打印结果为:1711765138.0
4.2.3 程序计时
程序计时是指测量起止动作所经历时间的过程。包含测量时刻与设置时段两部分。
time模块提供了两个常用的关于测量时刻与指定时段的方法。如下:
'''
测量时间
'''
# perf_counter():返回一个CPU级别的精确时间计数值,单位为秒(由于这个计数值的初始值是不确定的,因此连续调用计算差值才有意义)
import time
start = time.perf_counter()
for i in range(500):i += 1;
end = time.perf_counter()
printf(end-start)'''
设置时段
'''
# sleep(s):指定程序休眠一段时间,s为休眠时间,单位为秒
import time
start = time.perf_counter()
sleep(5)
end = time.perf_counter()
printf(end-start)