核心知识点:(time模块属于内嵌模块)
时间的三种数据类型:
时间戳: 浮点类型
格式化时间:元组类型
文本时间:字符串类型
在这个三种时间类型之间相互转换.
1.时间戳
通常来说,时间戳表示的是从1970年1月00:00:00 开始按秒计算的偏移量,我们运行type(time.time()),返回的是float类型,返回时间方式的函数主要有time(),clock()等
2.格式话的时间
元组(struct_time)共九个元素
注意:
time模块事先主要调用C库,所以各个平台可能有所不同。
3.什么是UTC时间?
即 coordinated Universal time ,世界协调时 世界标准时间。在中国为UTC+8 东八区
DST(daylight saving time)即夏令时。
时间戳:
时间戳单位最适于做日期运算。
但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年
import time >>> time.time() 1530067524.527648
结构化时间:(本地时间)
import time >>> time.localtime() time.struct_time(tm_year=2018, tm_mon=6, tm_mday=27, tm_hour=10, tm_min=23, tm_sec=30, tm_wday=2, tm_yday=178, tm_isdst=0)
获取本地时间(注意返回的是一个元组)
命令:
import time #时间戳 # print(time.time()) #格式化时间 # a = time.localtime() # print(a) # print(time.localtime()) # print(time.localtime().tm_year) # print(time.localtime().tm_mon) # print(time.localtime().tm_mday) # print(time.localtime().tm_hour) # print(time.localtime().tm_min) #---------------------------------------------- #时间戳转换成结构时间: # print(time.localtime(123124123)) #---------------------------------------------- #将结构化时间转换成时间戳 # time.mktime() #方式一: # print(time.mktime(time.localtime())) #方式二: #定义个9个参数的元组将其转换为时间戳 # t = (2016, 2, 17, 17, 3, 38, 1, 48, 0) # t2 = (2018, 6, 17, 17, 3, 38, 1, 48, 0) # secs = time.mktime(t) # secs2 = time.mktime(t2) # secs3 =secs2 - secs # print(secs,secs2,secs3) #---------------------------------------------- #将结构化时间转化成字符串时间 # t = (2016, 2, 17, 17, 3, 38, 1, 48, 0) # print(time.strftime("%Y-%m-%d %X",time.localtime())) # print(time.strftime("%Y-%m-%d %X",t)) #将字符串时间转换成结构化时间 #注意格式必须一直!!!!! #格式一致的: # print(time.strptime("2018:10:24 12:33:33","%Y:%m:%d %X")) # print(time.strptime("2018-10-24 12:33:33","%Y-%m-%d %X")) #格式不一致的 # print(time.strptime("2018-10-24 12-33-33","%Y-%m-%d %X")) # print(time.strptime("2018:10:24 12-33-33","%Y-%m-%d %X")) #---------------------------------------------- #内置固定格式 # "%a %b %d %H:%M:%S %Y": #时间戳转字符串 # print(time.ctime()) #格式化转字符串 # t = (2016, 2, 17, 17, 3, 38, 1, 48, 0) # print(time.asctime(t)) #---------------------------------------------- #其他参数: #time.sleep()休眠 #返回一个本地时间与UTC世界时间的差值 # print(time.altzone) #获取utc世界标准时间,返回结构化时间 # print(time.gmtime()) #返回一个内置格式的本地时间: # print(time.ctime()) #其他时间模块: #timedate模块 # import datetime # print(datetime.datetime.now())
转换示意图:
字符串时间 ------ 结构化时间 -------时间戳(相互转换)
格式化输出示意图:
内置格式: 结构化时间 ------- 内置格式 --------- 时间戳
格式输出参数: