当前位置:主页 > 软件编程 > Python代码 >

Python标准库之time库的使用教程详解

时间:2023-01-17 12:46:58 | 栏目:Python代码 | 点击:

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

#strftime("%Y-%m-%d %H:%M:%s")
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

总结图:

您可能感兴趣的文章:

相关文章