在python中与事件处理相关的模块有:
time datetime calendar ,这里先讲解time模块
1.time
模块的引入用import time
(1) time.time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数) 返回结果数据类型是float
import time
temp=time.time()
print(temp)
运行结果如下:
1530102947.1895583
(2) time.ctime() 获取当前日期时间 返回结果数据类型是字符串
import time
temp=time.ctime()
print(temp)
运行结果是:
Wed Jun 27 20:38:57 2018
(3) time.localtime() 将一个时间戳转化为当地时期的时间
import time
temp=time.localtime(time.time())
print(temp)
运行结果是:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=27, tm_hour=20, tm_min=46, tm_sec=34, tm_wday=2, tm_yday=178, tm_isdst=0)
(4) time.sleep( )线程推迟指定的时间
import time
time.sleep(3)
print("Today is a good day")
三秒后执行语句,执行结果为:
Today is a good day
(5) time.asctime( )接受时间元组 返回一个可读形式的字符串
import time
tupleA=(2018,1,2,3,4,5,1,22,0)
a=time.asctime(tupleA)
print(a)
print(a[-1])
返回结果是:
Tue Jan 2 03:04:05 2018
8
(6) time.mktime( )接受时间元组并返回时间戳
import time
tupleA=(2018,1,2,3,4,5,1,22,0)
temp=time.mktime(tupleA)
print(temp)
执行结果是
1514833445.0
(7)time.strftime( ) 将时间时间元组转化为字符串
tims=(2018,5,17,0,0,0,0,0,0)
b=time.strftime("%Y{x} %m{y} %d{z} ",tims).format(x="年",y="月",z="日")
print(b)
结果是:
2018年 05月 17日
(8) time.strptime( ) 将字符串或者struct_time转化转化为时间元组
strA="2018年5月15日"
a=time.strptime(strA,"%Y年%m月%d日")
print(a)
print(type(a))
执行结果是:
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=135, tm_isdst=-1)
<class 'time.struct_time'>
struct_time是一种数据类型,如上执行结果所示,time.gmtime()、time.localtime()(将一个时间戳转化为struct_time)
temp=time.gmtime(time.time())
b=time.strftime("%Y{x} %m{y} %d{z} %H{a} %M{b} %S{c}",temp).format(x="年",y="月",z="日",a="时",b="分",c="秒")
print(b)
执行结果是:
2018年 06月 27日 13时 31分 56秒
time.localtime() 将一个时间戳转化为struct_time
temp=time.localtime(time.time())
print(temp)
b=time.strftime("%Y{x} %m{y} %d{z} %H{a} %M{b} %S{c}",temp).format(x="年",y="月",z="日",a="时",b="分",c="秒")
print(b)
运行结果(tm_isdst始终是零):
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=27, tm_hour=21, tm_min=48, tm_sec=33, tm_wday=2, tm_yday=178, tm_isdst=0)
2018年 06月 27日 21时 48分 33秒
(9) time.clock( )计算程序运行的时间
print(time.clock())
for i in range(1000000):
print(i)
print("结束后")
print(time.clock())
执行结果(打印的数字没有展示出):
结束后
4.2173296979444554
2. 时间元组
python用一个元组装起来的九组数称之为时间元组,比如
t=(2018,1,2,3,4,5,1,23,0)
分别表示年(四位数),月(1-12),日(1-31),时(0-23),分(0-59),秒(0-59),一周第几日(0-6 0表示周日),一年第几日(1-366),夏令时(是否是夏令时,默认为-1).
3.日期格式化
time.strftime( ) 把一个代表时间的元组为格式化的字符串.
python中常用的时间日期格式化符号:
%y 两位数年份表示(00-99)
%Y 四位数的年份表示(0000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒数(00-59)