Python:time库使用方法
time库是Python中处理时间的标准库,使用方法如下:
import time
time.<f>()
time库包含三类函数:
- 时间获取:time() ctime() gmtime()
- 时间格式化:strftime() strptime()
- 程序计时:sleep() perf_counter()
时间获取
函数 | 描述 |
time() | 获取当前时间戳,即计算机内部时间值,浮点数 >>>time.time() 1604405367.6314332 |
ctime() | 获取当前时间并以易读方式表示,返回字符串 >>>time.ctime() 'Tue Nov 3 20:09:36 2020' |
gmtime() | 获取当前时间,表示为计算机可处理的时间格式 >>>time.gmtime() time.struct_time(tm_year=2020, tm_mon=11, tm_mday=3, tm_hour=12, tm_min=10, tm_sec=24, tm_wday=1, tm_yday=308, tm_isdst=0) |
时间格式化
函数 | 描述 |
strftime(tpl, ts) | tpl是格式化模板字符串,用来定义输出效果 ts是计算机内部时间类型变量 >>>t = time.gmtime() >>>time.strftime("%Y-%m-%d %H:%M:%S",t) '2020-11-03 12:14:08' |
格式化控制符
格式 | 含义 | 备注 |
---|---|---|
%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的相应符 | 一 |
%S | 秒(01 - 61) | 二 |
%U | 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 | 三 |
%w | 一个星期中的第几天(0 - 6,0是星期天) | 三 |
%W | 和%U基本相同,不同的是%W以星期一为一个星期的开始。 | |
%x | 本地相应日期 | |
%X | 本地相应时间 | |
%y | 去掉世纪的年份(00 - 99) | |
%Y | 完整的年份 | |
%Z | 时区的名字(如果不存在为空字符) | |
%% | ‘%’字符 |
备注:
-
“%p”只有与“%I”配合使用才有效果。
-
文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。
-
当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。
格式化字符串 | 日期/时间说明 | 值范围和实例 |
%Y | 年份 | 0000~9999,例如:1900 |
%m | 月份 | 01~12,例如:10 |
%B | 月份名称 | January~December,例如:April |
%b | 月份名称缩写 | Jan~Dec,例如:Apr |
%d | 日期 | 01~31,例如:25 |
%A | 星期 | Monday~Sunday,例如:Wednesday |
格式化字符串 | 日期/时间说明 | 值范围和实例 |
%a | 星期缩写 | Mon~Sun,例如:Wed |
%H | 小时(24h制) | 00~23,例如:12 |
%h | 小时(12h制) | 01~12,例如:7 |
%p | 上/下午 | AM, PM,例如:PM |
%M | 分钟 | 00~59,例如:26 |
%S | 秒 | 00~59,例如:26 |
函数 | 描述 |
strptime(str, tpl) | str是字符串形式的时间值 tpl是格式化模板字符串,用来定义输入效果 >>>timeStr = '2020-11-03 12:17:18' >>>time.strptime(timeStr, "%Y-%m-%d %H:%M:%S") time.struct_time(tm_year=2020, tm_mon=11, tm_mday=3, tm_hour=12, tm_min=16, tm_sec=45, tm_wday=1, tm_yday=308, tm_isdst=-1) |
程序计时
函数 | 描述 |
perf_counter() | 返回一个CPU级别的精确时间计数值,单位为秒 由于这个计数值起点不确定,连续调用差值才有意义 >>>time_start = time.perf_counter() 528.66599499718114 >>>time_end = time.perf_counter() 531.3905185375658 >>>time_end - time_start 22.724523540384666 |
函数 | 描述 |
sleep(s) | s拟休眠的时间,单位是秒,可以是浮点数 >>>def time_wait(): time.sleep(3.3) >>>time_wait() # 程序将等待3.3秒后再退出 |