time模块函数说明
time模块,时间格式有三种:
1、timestamp--------时间戳,时间戳是从1970年1月1日00:00:00开始按秒计算的偏移量(用于程序计算)
2、struct_time-------时间元组,共有九个元素组。
3、format time-------把时间格式化成字符串(方便我们看懂)。
下面将详细说明。
1.timestamp-----时间戳
import time a = time.time() print(a)
输出:1641121491.4943612
这个就是时间戳。
2.struct_time-------时间元组
共有9个元素
索引(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 |
1)time.localtime([secs]):将时间戳,转换为9个时间元组。
secs参数:可以不写,会以当前时间为准。
import time a = time.localtime() #不写参数,python默认传入当前时间戳 b = time.localtime(time.time()) #参数为一个时间戳,上面函数相当于执行了它。 c = time.localtime(1641121491.4943612) #当然,我们也可以自己传入一个时间戳 print(a) print(b) print(c)
a,b输出:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=32, tm_sec=24, tm_wday=6, tm_yday=2, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=32, tm_sec=24, tm_wday=6, tm_yday=2, tm_isdst=0)
——a,b是相同的
c输出:
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=4, tm_sec=51, tm_wday=6, tm_yday=2, tm_isdst=0)
这个是自己定义的
我们也可以单独输出,例如
import time a = time.localtime() #不写参数 print(a) #显示9个元组 print(a[0:]) #只显示值 print(a[3:5]) #只截取tm_hour(时)和 tm_min(分)的值
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=2, tm_hour=19, tm_min=45, tm_sec=34, tm_wday=6, tm_yday=2, tm_isdst=0)
(2022, 1, 2, 19, 45, 34, 6, 2, 0)
(19, 45)
线程中常用的一个函数:time.sleep(secs) 线程推迟指定的时间运行。secs参数单位为秒。
3.format time-------把时间格式化成字符串
1.time.asctime([t]): 把时间元组转字符串(无参数时,默认传入time.localtime(),它返回当前:时间元组)
2.time.ctime([secs]): 把时间戳转字符串(无参数时,默认传入time.time(),它返回当前:时间戳)
import time b = time.ctime() # 默认传入time.localtime(),即9个元素 a = time.asctime() # 默认传入time.time(),即一个float值 print(a) print(b)
a,b的输出是一样的,如下:
Sun Jan 2 20:04:49 2022
Sun Jan 2 20:04:49 2022
3.time.strftime(format[, t]): # 我最喜欢用它了。
把一个代表时间的元组转化为我们想要的字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。
import time
a = time.strftime("%Y-%m-%d %X", time.localtime())
print(a)
输出:
2022-01-02 20:14:31
具体参数如下:
格式 |
含 义 |
备 注 |
%a |
本地(locale)简化星期名称 |
|
%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的相应符 |
1 |
%S |
秒(01 - 61) |
2 |
%U |
一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 |
3 |
%w |
一个星期中的第几天(0 - 6,0是星期天) |
3 |
%W |
和%U基本相同,不同的是%W以星期一为一个星期的开始。 |
|
%x |
本地相应日期 |
|
%X |
本地相应时间 |
|
%y |
去掉世纪的年份(00 - 99) |
|
%Y |
完整的年份 |
|
%Z |
时区的名字(如果不存在为空字符) |
|
%% |
‘%’字符 |
|
备注:
1. “%p”只有与“%I”配合使用才有效果。
2. 文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。
3. 当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界