time时间模块
time模块
1.时间戳
用于时间间隔计算
import time
time.time() # 1617653574.324645
print(time.time() - 3600) # 前一小时的时间戳
2.结构化的时间
用于单独获取时间的某一部分
索引(Index) | 属性(Attribute) | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(时) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 61 |
6 | tm_wday(weekday) | 0 - 6(0表示周日) |
7 | tm_yday(一年中的第几天) | 1 - 366 |
8 | tm_isdst(是否是夏令时) | 默认为-1 |
import time
# 获取本地时间(中国+8小时)
time.localtime()
'''
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=6, tm_hour=4, tm_min=13, tm_sec=3, tm_wday=1, tm_yday=96, tm_isdst=0)
tm_wday 一周的第几天[0123456] 0是星期一
tm_yday 一年中的第几天
tm_isdst 是否是夏令时(了解)
'''
# 获取标准时间
time.gmtime()
'''
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=20, tm_min=13, tm_sec=3, tm_wday=0, tm_yday=95, tm_isdst=0)
'''
# 获取属性值
res= time.localtime()
print(res.tm_year) # 2021
print(res.tm_wday) # 1
3.格式化时间字符串
用于展示时间
格式 | 含义 |
---|---|
%a | 星期名 (简称) |
%A | 星期名 [全称] |
%b | 月份名 (简称) |
%B | 月份名 [全称] |
%c | 本地相应的日期和时间表示 |
%d | 一个月中的第几天(01 - 31) |
%H | 一天中的第几个小时(24小时制,00 - 23) |
%I | 第几个小时(12小时制,01 - 12) |
%j | 一年中的第几天(001 - 366) |
%m | 月份(01 - 12) |
%M | 分钟数(00 - 59) |
%p | AM / PM |
%S | 秒(01 - 61) |
%U | 一年中的第几个星期 (00 - 53星期天 是一个星期的开始) |
%w | 一个星期中的第几天(0 - 6,0是星期天) |
%W | 一年中的第几个星期 (01 - 54星期一 是一个星期的开始) |
%x | 本地相应日期 |
%X | 本地相应时间 |
%y | 去掉世纪的年份(00 - 99) |
%Y | 完整的年份 |
%Z | 时区的名字(如果不存在为空字符) |
%% | ‘%'字符 |
import time
time.ctime() # Sun Jun 19 18:47:18 2022
# asctime是linux系统的时间格式
time.asctime() # Tue Apr 6 14:44:02 2021
# 默认填了localtime
# print(time.strftime("%Y-%m-%d %H:%M:%S %p", time.localtime()))
time.strftime("%Y-%m-%d %H:%M:%S %p") # 2021-4-6 04:07:30 AM
time.strftime(("%Y-%m-%d %X")) # 2021-4-6 04:07:30
4.sleep
import time
s = time.time()
time.slepp(5) # 程序睡眠5秒
print(time.time() - s)
3.时间转换
主要掌握:格式化时间 与 时间戳的转换 (需要通过中介 结构化时间)
结构化时间 <---> 时间戳
import time
# 结构化时间 ---> 时间戳
s_time = time.localtime()
time.mktime(s_time) # 1655635345.0精确到秒
# 结构化时间 <--- 时间戳
time.localtime() # 默认对于 time.localtime(time.time())
time.localtime(time.time()) # 转换成本地时间(中国+8小时)
time.gmtime(time.time()) # 转换成标准时间
结构化时间 <---> 字符串时间
# 结构化时间 ---> 字符串时间
s_time = time.localtime()
time.strftime("%Y-%m-%d %H:%M:%S", s_time)
# 结构化时间 <--- 字符串时间(格式需要一样)
time.strptime('2021-04-06 04:20:40', '%Y-%m-%d %H:%M:%S')