time库概述

time库是python中处理时间的标准库

1、提供计算机时间的表达

2、提供获取系统时间并格式化输出功能

3、提供系统级精确计时功能,用于程序性能分析

使用前需要使用import time导入time库。
time库包括三类函数

时间获取:

函数

描述

time.time()

获取当当前时间戳,即当前计机算机内部时间值,以浮点数表示:1600612634.7297385

time.ctime()

获取当前时间并以易读方式表示,返回字符串:‘Sun Sep 20 22:37:37 2020’

time.gmtime()

获取当前时间,表示为计算机可处理的时间格式:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=20, tm_hour=14, tm_min=48, tm_sec=7, tm_wday=6, tm_yday=264, tm_isdst=0)

time.localtime()

获取本地时间,表示为计算机可处理的时间格式:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=21, tm_hour=0, tm_min=18, tm_sec=27, tm_wday=0, tm_yday=265, tm_isdst=0)

时间格式化

使用time.strftime()方法格式化时间数据。
使用time.strptime()方法将字符串转换成计算机可以处理的数据。

函数

描述

time.strftime(格式化字串,时间变量)

time.strftime(’%H:%M:%S %Y-%m-%d’,time.gmtime())

time.strptime(字符串时间变量,格式化字符串)

>>>timeStr = ‘2018-01-26 12:55:20’ >>>time.strptime(timeStr, “%Y-%m-%d %H:%M:%S”) time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=4, tm_min=11, tm_sec=16, tm_wday=4, tm_yday=26, tm_isdst=0)

time.asctime([tupletime])

接受时间元组并返回一个可读的形式为"Mon Sep 21 00:28:50 2020"(2020年9月21日 周一00时28分50秒)的24个字符的字符串。

import time
f = time.strftime('%H:%M:%S  %Y-%m-%d',time.gmtime())
print(f)
#15:31:30  2020-09-20
print(type(f))
#<class 'str'>
t = '2000-3-1 7:14:56'
p = time.strptime(t,"%Y-%m-%d %H:%M:%S")
print(p)
#time.struct_time(tm_year=2000, tm_mon=3, tm_mday=1, \
# tm_hour=7, tm_min=14, tm_sec=56, tm_wday=2, tm_yday=61, tm_isdst=-1)
print(type(p))
#<class 'time.struct_time'>
print(time.strftime('%H:%M:%S  %Y-%m-%d',p))
#07:14:56  2000-03-01
t = time.localtime()
print(time.asctime(t))
#Mon Sep 21 00:28:50 2020

格式化控制符

格式化字符串

日期/时间说明

值范围和实例

%Y

年份

0000~9999,例如:1900

%y

年份

00~99,十进制数没有世纪的年份。例如:20

%m

月份

01~12,例如:10

%B

月份名称

January~December,例如:May

%b

月份名称缩写

Jan~Dec,例如:Jan

%d

日期

01~31,例如:25

%A

星期

Monday~Sunday,例如:Tuesday

%a

星期缩写

Mon~Sun,例如:Wed

%H

小时(24h制)

00~23,例如:22

%I

小时(12h制)

01~12,例如:7

%p

上/下午

AM, PM,例如:PM

%M

分钟

00~59,例如:55

%S


00~59,例如:41

%c

本地日期和时间表示

例如:print(time.strftime(’%c’,time.localtime()))>>>Wed Sep 23 14:01:43 2020

%x

本地日期

例如:print(time.strftime(’%x’,time.localtime()))>>>09/23/20

%X

本地时间

例如:print(time.strftime(’%X’,time.localtime()))>>>14:13:43

%j

年中日

十进制数1~366,例如:一年的第127天

%w

周中日

十进制数0~6

%W

一年中周数

十进制数0~53

%z

与UTC的时差

-23:59~23:59之间,格式为+HHMM或-HHMM.例如:print(time.strftime(’%z’,time.localtime()))>>>+0800(北京时间加8小时为UTC时间)

%Z

时区名称

例如:print(time.strftime(’%Z’,time.localtime()))>>>中国标准时间

程序计时

函数

描述

time.perf_counter()

返回一个CPU级别的精确时间计数值,单位为秒。连续调用产生差值才有意义。>>>start = time.perf_counter() 318.66599499718114 >>>end = time.perf_counter() 341.3905185375658 >>>end - start 22.724523540384666

time.sleep(s)

s为拟休眠的时间,单位是秒,可以是浮点数。

import time
start = time.perf_counter()
time.sleep(5)
end = time.perf_counter()
print(end-start)
#5.0007994