python(29)----时间模块
time模块
1. 三种时间表现形式
- 时间戳(timestamp)
- 格式化的时间字符串
- 元祖/结构化时间(struct_time)
2. 时间戳(timestamp)
通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
运行type(time.time()),得到的结果为时间戳,返回的类型为float类型
#举例: import time print(time.time()) print(type(time.time())) #执行结果 1545055247.5282352 <class 'float'>
3.元祖/结构化时间(struct_time)
struct_time元祖共有9个元素(年、月、日、时、分、秒、一年中第几周、一年中第几天、夏令时)
#举例1: import time print(time.localtime()) t = time.localtime() print(t.tm_year) print(t.tm_wday) #执行结果 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=17, tm_hour=22, tm_min=6, tm_sec=23, tm_wday=0, tm_yday=351, tm_isdst=0) 2018 0
#举例2: import time print(time.gmtime()) #执行结果 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=17, tm_hour=14, tm_min=8, tm_sec=35, tm_wday=0, tm_yday=351, tm_isdst=0)
区别:
- time.localtime() #当地时间(东八区时间)
- time.gmtime() #UTC时间
4. 各类时间表达式之间的转换
#结构化时间==>时间戳
import time print(time.mktime(time.localtime())) #执行结果 1545102289.0
#将结构化时间==>字符串时间
import time print(time.strftime('%Y-%m-%d %X', time.localtime())) #执行结果 2018-12-18 11:07:35
#将字符串时间==>结构化时间
import time print(time.strptime('2018:12:18:11:10:30','%Y:%m:%d:%X')) #执行结果 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=11, tm_min=10, tm_sec=30, tm_wday=1, tm_yday=352, tm_isdst=-1)
#时间戳==>结构化时间
import time print(time.localtime(time.time())) print(time.gmtime(time.time())) #执行结果 time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=11, tm_min=19, tm_sec=46, tm_wday=1, tm_yday=352, tm_isdst=0) time.struct_time(tm_year=2018, tm_mon=12, tm_mday=18, tm_hour=3, tm_min=19, tm_sec=46, tm_wday=1, tm_yday=352, tm_isdst=0)
#时间戳==>字符串时间
import time print(time.ctime()) #执行结果 Tue Dec 18 11:23:37 2018
#结构化时间==>字符串时间
import time print(time.asctime()) #执行结果 Tue Dec 18 11:28:08 2018
5. 其他时间模块
time.sleep()
#线程推迟指定时间运行,单位为秒
time.clock()
#unix系统,返回的是‘进程时间’
#windows系统,第一次调用返回的是进程运行的实际时间,第二次之后的调用时自第一次调用以后到现在的运行时间,即两次时间差。
import datetime print(datetime.datetime.now()) #执行结果 2018-12-18 11:48:49.325871