time 与 datetime 模块的常用方法
时间格式
一个名词:
UTC(Coordinated Universal Time):格林威治天文时,世界标准时间。中国为东八区 UTC+8
在编程的世界中,一定要了解的几种时间格式:
1、时间戳
从 1970-1-1 00:00:00 开始按秒计算的浮点型偏移量。
2、格式化的时间字符串
例如:2018-11-1 11:35:00
3、元组形式(struct_time)的时间,在python中包含9个元素
形式: time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=18, tm_min=30, tm_sec=39, tm_wday=2, tm_yday=304, tm_isdst=0)
含义:0--年,1--月,2--日,3--时,4--分,5--秒,6--周几(取值0~6,0表示周日),7--一年中的第几天,8--是否夏令时
time 模块
1、time.sleep(secs) 线程推迟指定时间运行,很常用。
2、time.time() 返回当前时间戳
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>>import time 2 >>>time.time() 3 1541043502.846
3、time.localtime([secs]) time.gmtime([secs]) 参数默认传入time.time(),将时间戳转换为 struct_time ,前者返回当地时间,后者返回标准时间。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>>time.localtime() 2 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=1, tm_hour=11, tm_min=47, tm_sec=49, tm_wday=3, tm_yday=305, tm_isdst=0) 3 >>>time.gmtime() 4 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=1, tm_hour=3, tm_min=47, tm_sec=56, tm_wday=3, tm_yday=305, tm_isdst=0)
4、time.mktime(struct_time) 将 struct_time 转换为时间戳
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>>time.mktime(time.localtime()) 2 1541044257.0
5、time.strftime(format[, struct_time]) 将 struct_time 转换为 格式化的时间字符串,struct_time 默认 time.localtime()
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>>time.strftime('%Y-%m-%d %X') 2 '2018-11-01 11:58:08'
6、time.strptime(string[, format]) 将 格式化的时间字符串转换为 struct_time
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>> time.strptime('2018-11-1 12:01', '%Y-%m-%d %H:%M') 2 time.struct_time(tm_year=2018, tm_mon=11, tm_mday=1, tm_hour=12, tm_min=1, tm_sec=0, tm_wday=3, tm_yday=305, tm_isdst=-1)
7、time.asctime([struct_time]) time.ctime([secs]) 前者将 struct_time , 后者将时间戳 转换为 这种格式:'Thu Nov 1 12:07:27 2018'
格式化的时间字符串有个对应关系表,如 %M 表示分钟 %m 表示月份 ,可自行查询。
datetime模块
datetime模块主要定义了以下几个类:
datetime.date 表示日期的类
datetime.time 表示时间的类
datetime.datetime 表示日期时间的类
datetime.timedelta 表示时间间隔
其中 datetime.timedelta(days) 接受一个参数,默认为 天,也可以指定 datetime.timedelta(hours=4),可直接跟datetime的其它类进行时间运算。