延迟功能
想让程序停顿几秒钟
time.sleep(秒数)
例如
print(1)
time.sleep(2)
print(2)
结果,在打印了1后会停2秒,然后再打印2
time模块时间转换图
》三种时间格式
- 时间戳
- 时间元组对象
- 格式化时间字符串
时间戳,是计算机可识别的一个时间形态
格式化时间字符串,是人类可识别的一个时间形态
时间元组,则是二个时间的过渡体
可以把这三者间的关系,理解为
冰,水,汽体,的关系
冰,要转变为汽体,一定会有一个变为水的过程
而汽体转变为冰,也是同样
水,就是struct_time的一个比喻
详情看图
获取时间戳
时间戳 = time.time()
例子
import time
now = time.time()
print(now)
1566114429.1101348
时间戳转格式化时间元组
》转为本地的时间元组
把当前时间转为时间元组
时间元组 = time.localtime()
根据一个时间戳转为时间元组
时间元组 = time.localtime(时间戳)
代码
import time
now = time.time()
s_time = time.localtime(now)
print(s_time)
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=18, tm_hour=15, tm_min=50, tm_sec=21, tm_wday=6, tm_yday=230, tm_isdst=0)
》利用时间元组取值
根据上面的时间元组变量 s_time
可以点出各个数据来
例如
s_time.tm_mon 可得8
s_time.tm_hour 可得15
关于这些tm开头的意义
时间元组转为时间戳
time.mktime(时间元组)
例子
import time
now = time.time()
print(now)
s_time = time.localtime(now)
res = time.mktime(s_time)
print(res)
C:\Users\python_hui\Anaconda3\envs\untitled6\python.exe G:/untitled6/06循环/main.py
1566115391.071008
1566115391.0
Process finished with exit code 0
格式化时间字符串
格式
time.strftime(格式,时间元组)
time.strftime(格式)
常用的写法
import time
res = time.strftime("%Y-%m-%d-%H-%M-%S")
print(res)
res = time.strptime(“2019-09-18”, “%Y-%m-%d”)
print(res)
结果
C:\Users\python_hui\Anaconda3\python.exe G:/易二/123.py
2019-08-03-13-51-26
Process finished with exit code 0
时间字符串转时间元组
格式
time.strptime(时间字符串,格式)
代码:
import time
res = time.strptime("2019-09-18", "%Y-%m-%d")
print(res)
附-格式化时间说明
%a:本地(locale)简化星期名称
%A:本地完整星期名称
%b:本地简化月份名称
%B:本地完整月份名称
%c:本地相应的日期和时间表示
%d:一个月中的第几天(01 - 31)
%H:一天中的第几个小时(24 小时制,00 - 23)
%l:一天中的第几个小时(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:用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
%Z:时区的名字(如果不存在为空字符)
%%:%号本身