模块-->time模块
time模块
时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组(结构化时间)则是用来操作时间的
如何获取时间戳,字符串时间,结构化时间??
-
时间戳 time
时间戳是从1970-01-01 08:00:00开始以秒计算.是个浮点数.
获取时间戳
获取当前时间的时间戳
import time print(time.time())
结果:1547731962.7223332
-
字符串时间
字符串时间是人能够看懂的时间,在计算机中查看类型为str
获取字符串时间 strftime
获取当前字符串时间
import time
time.strftime("%Y-%m-%d %H:%M:%S" ) == time.strftime("%Y-%m-%d %X")
python中时间日期格式化符号:
python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身
-
结构化时间
元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
获取结构化时间 localtime gmtime
import time
print(time.gmtime()) #获取英国伦敦的结构化时间
print(time.localtime()) #获取本地计算机的结构化时间
-
三种时间的互相转换
请注意:字符串时间和时间戳之间不能转换
时间戳----->结构化时间----->字符串时间
1.时间戳-->结构化时间-->字符串时间
第1步: 时间戳转换为结构化时间 localtime or gmtime jiegou_time = time.localtime(1800000000) #参数为时间戳 print(jiegou_time) print(type(jiegou_time)) # 查看类型 <class 'time.struct_time'>
第2步: 把结构化时间转为字符串时间 strftime zifu_time = time.strftime("%Y-%m-%d %H:%M:%S",jiegou_time) #参数是第一个是%格式化 第二个是'time.struct_time' print(zifu_time)
print(type(zifu_time)) # 查看类型<class 'str'>
字符串时间----->结构化时间----->时间戳
2.字符串-->结构化时间-->时间戳
第1步: 字符串转换为结构化时间 strptime jiegou_time = time.strptime("2019-07-05","%Y-%m-%d") #第一个参数是字符串时间,第二个参数是%格式化 print(jiegou_time) print(type(jiegou_time)) #查看类型<class 'time.struct_time'>
第2步: 结构化时间转换为时间戳 mktime shijian_time = time.mktime(jiegou_time) #参数为结构化时间 print(shijian_time) print(type(shijian_time)) #查看类型<class 'float'>
时间戳----->字符串时间 print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(1547726023.1376085)))
结果:2019-01-17 19:53:43 # 查看类型<class 'str'>
字符串时间----->时间戳
print(time.mktime(time.strptime("2019-01-10 15:30","%Y-%m-%d %H:%M")))
结果:1547105400.0 #查看类型<class 'float'>