time模块中的三种时间表示方式:
时间戳
结构化时间对象
格式化时间字符串
1.时间戳
时间戳1970.1.1到指定时间到间隔,单位是秒
import time
print(time.time())
输出:
1649834054.98593
计算一个小时之前的时间戳
print(time.time() - 3600)
输出:
1649830637.5699048
2.结构化时间对象
获取当前时间
st = time.localtime()
print(type(st))
print(st)
输出:
<class ‘time.struct_time’> time.struct_time(tm_year=2022, tm_mon=4, tm_mday=13, tm_hour=15, tm_min=19, tm_sec=24, tm_wday=2, tm_yday=103, tm_isdst=0)
st本质上就是一个tuple元祖,一共包含了9个元素
print(f"今天是{st[0]}-{st[1]}-{st[2]}")
输出:
今天是2022-4-13
print(f"今天是星期{st.tm_wday+1}")
这个对象里面的属性是只读 ,我们只能查看,不能去进行修改:
st.tm_wday = 3
此时会报错:
Traceback (most recent call last): File “/Users/liuhuanhuan/PycharmProjects/Pytorch_frame/python/python基础代码练习/python标准库之time/01.py”, line 18, in st.tm_wday = 3 AttributeError: readonly attribute
3.格式化时间字符串
print(time.ctime())
输出:
Wed Apr 13 15:28:25 2022
print(time.strftime("%Y-%m-%d %H:%M:%S"))
输出:
2022-04-13 15:32:02
print(time.strftime("%Y年-%m月-%d日 %H时:%M分:%S秒"))
输出;
2022年-04月-13日 15时:32分:45秒
print(time.strftime("%Y年-%m月-%d日 %H时:%M分:%S秒 %a"))
print(time.strftime("%Y年-%m月-%d日 %H时:%M分:%S秒 %A"))
print(time.strftime("%Y年-%m月-%d日 %H时:%M分:%S秒 %b"))
print(time.strftime("%Y年-%m月-%d日 %H时:%M分:%S秒 %B"))
输出:
2022年-04月-13日 15时:34分:23秒 Wed 2022年-04月-13日 15时:34分:23秒 Wednesday 2022年-04月-13日 15时:34分:23秒 Apr 2022年-04月-13日 15时:34分:23秒 April
Sleep,等待时间
print("开始")
time.sleep(2)
print("结束")
计算程序计算时间:
t1 = time.time()
print("开始")
time.sleep(2)
print("结束")
t2 = time.time()
print(f"间隔{t2-t1}")
输出:
开始 结束 间隔2.005164861679077
4.三种格式之间的转换
1.时间戳转换为对象的
print(time.gmtime())
print(time.gmtime(time.time()))
print(time.localtime())
print(time.localtime(time.time()-3600))
输出;
time.struct_time(tm_year=2022, tm_mon=4, tm_mday=13, tm_hour=7, tm_min=42, tm_sec=26, tm_wday=2, tm_yday=103, tm_isdst=0) time.struct_time(tm_year=2022, tm_mon=4, tm_mday=13, tm_hour=7, tm_min=42, tm_sec=26, tm_wday=2, tm_yday=103, tm_isdst=0) time.struct_time(tm_year=2022, tm_mon=4, tm_mday=13, tm_hour=15, tm_min=42, tm_sec=26, tm_wday=2, tm_yday=103, tm_isdst=0) time.struct_time(tm_year=2022, tm_mon=4, tm_mday=13, tm_hour=14, tm_min=42, tm_sec=26, tm_wday=2, tm_yday=103, tm_isdst=0)
2.#结构化对象转时间戳
print(time.time())
print(time.mktime(time.localtime()))
输出:
1649835895.358733 1649835895.0
3.结构化对象转时间字符串
print(time.strftime("%Y-%m-%d %H:%m:%S",time.localtime()))
print(time.strftime("%Y-%m-%d %H:%m:%S",time.gmtime(time.time())))
输出:
2022-04-13 15:04:20 2022-04-13 07:04:20
总结图:
|