1.time库的定义
•time是python中处理时间的标准库。
2.time库的使用
•时间获取---------time() ,ctime() ,gmtime()
•时间格式化---------strftime() ,strptime()
•程序计时----------sleep() ,perf_counter()
1.time.time()
用于获取当前的时间戳。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。时间间隔是以秒为单位的浮点小数。
import time
print(time.time())
#1631596378.6240664
2.time.ctime()
获取当前的一个格式化时间。以可读的方式返回字符串时间。
import time
print(time.ctime())
#Tue Sep 14 15:59:08 2021
3.time.gmtime()
计算机可以处理的时间格式。
import time
print(time.gmtime())
#time.struct_time(tm_year=2021, tm_mon=9, tm_mday=14, tm_hour=8, tm_min=0, tm_sec=39, tm_wday=1, tm_yday=257, tm_isdst=0)
1.time.strftime()
将时间进行格式化的合理输出,返回的是字符串形式。
strftime()方法转化成一个元组或sreuct_time表示时间所指定的格式参数所返回gmtime()或locatime()为一个字符串。
当t不设置,所返回当前时间使用localtime()方法。格式必须是字符串。异常ValueError被挂起,如果t在任何字段的允许范围之外。
语法:
time.strftime(format[,t])
参数:
• t------这是以秒为单位来进行格式化的时间。
• format----这是将用于格式化给定的时间的指令。下面的指令可以嵌入格式字符串。
指令:
1.%a - 简写的星期几
2.%A - 完整的星期几
3.%b - 缩写的月份名称
4.%B - 完整的月份名称
5.%c - 首选日期和时间表示
6.%C - 世纪值(年份除以100,范围从00到99)
7.%d - 该月的第几天(01?31)
8.%D - 类似 %m/%d/%y
9.%e - 该月的一天(1?31)
10.%g - 类似于%G,但是没有世纪
11.%G - 对应于ISO周数4位数的年份(参见%V)
12.%h - 类似于 %b
13.%H - 小时,使用24小时制(00?23)
14.%I - 小时,使用12小时制(01?12)
15.%j - 一年中的哪一天(001?366)
16.%m - 月份(01?12)
17.%M - 分钟
18.%n - 换行符
19.%p - 根据给定的时间值am或pm
20.%r - 时间在上午和下午的符号:am/pm
21.%R - time in 24 hour notation
22.%S - 秒
23.%t - 制表符
24.%T - 当前时间,等于 %H:%M:%S
25.%u - 工作日为数字(1到7),星期一= 1。警告:在Sun Solaris上周日=1
26.%U - 当年的周数,第一个星期日作为第一周的第一天
27.%V - 本年度ISO 8601的周数(01到53),其中,第1周是在本年度至少4天的第一个星期,星期一作为一周的第一天
28.%W - 当年的周数,与第一个星期一作为第一周的第一天
29.%w - 星期为一个小数,星期日=0
30.%x - 没有时间的日期表示
31.%X - 无日期首选的时间表示
32.%y - 一年无世纪(范围从00到99)
33.%Y - 今年,包括世纪
34.%Z or %z - 时区或名称或缩写
35.%% -文字%字符
import time
print(time.strftime("%Y-%m-%d %H:%M:%S"))
#2021-09-14 17:58:18
2.time.strptime()
语法:
time.strptime(string[, format]),传入string和format两个参数,分别为字符串和格式化字符串。返回的是struct_time。
time.strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。
当string和format不能匹配或者匹配后有多余的数据时,就会抛出ValueError。
当从传入的string和format无法推断出更准确的值时,就用默认值(1900,1,1,0,0,0,0,1,-1)
语法:
time.strptime(string[, format])
import time
print(time.strptime("1.2021-9-14 18:47:30","1.%Y-%m-%d %H:%M:%S"))
print(time.strptime("2. 2021-9-14 is Tuesday","2. %Y-%m-%d is %A"))
#time.struct_time(tm_year=2021, tm_mon=9, tm_mday=14, tm_hour=18, tm_min=47, tm_sec=30, tm_wday=1, tm_yday=257, tm_isdst=-1)
#time.struct_time(tm_year=2021, tm_mon=9, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=257, tm_isdst=-1)
1.time.sleep(secs)
推迟调用线程的运行(即让程序休眠一段时间),secs指秒数,可以是浮点数。
import time
print("程序")
time.sleep(3)
print("休眠")
#程序
#休眠(此段语句将在上方的“程序”输出后3秒再进行输出。
2.time.perf_counter()
通常只有两次的perf_counter进行差值计算才会有意义,一般用来计算程序的运行时间。
import time
start=time.perf_counter()
time.sleep(3)
end=time.perf_counter()
print((end-start))
#3.0002834999999997