time模块
### 使用频率特别高 ### 内置的模块 ### 注意只有 “时间戳时间”才能进行运算!!! import time ###拿到 时间戳——浮点型的小数 ###给计算机看的,可以做一些计算 # time.time() #三种时间: # #时间戳 time.time 给计算机看 # print(time.time()) # #2、结构化时间-修改 又叫 命名元组 # print(time.localtime()) #3、字符串时间——给人看的 ''' %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %x 本地相应的日期表示 %X 本地相应的时间表示 ''' # print(time.strftime('%Y-%m-%d %X')) # # ############################################## # #####时间戳转字符串时间: # 先转成结构化时间(localtime()),再转成字符串时间(strftime()) # 括号什么也不写的话默认是当前的时间 # 一天是 86400 秒 3600*24 ###面试题: f = time.localtime(time.time()-3600*24*3) #3天以前,可以用时间戳按照秒计算 print(f) str_time = time.strftime('%Y-%m-%d %H:%M:%S',f) print(str_time) # ###面试:::字符串时间转时间戳 # # 先转结构化时间,再转时间戳 # s = '2018-zz-30 12:30' #没有给秒,后面格式化的时间写到分! # f1 = time.strptime(s,'%Y-%m-%d %H:%M') # print(f1) #得出来元组 # print(f1.tm_yday) # 334 这一年的第几天 # print(f1.tm_mday) # 30 这个月的第几天 # #转时间戳 ————推后两小时——注意单位是秒 # c_new = time.mktime(f1) + 2 * 3600 # print(c_new) # #再转回去!!! # f_new = time.localtime(c_new) # str_time_new = time.strftime('%Y-%m-%d %H:%M:%S') # print(str_time_new) ######################################################## ###做题 1、这个时间向后推一个月! #### 2、 获取当前时间,然后拿这个时间求上个月的当前时间 str_t = '2019-03-20 10:40:00' #先转格式化时间: struct_t = time.strptime(str_t,'%Y-%m-%d %H:%M:%S') print(struct_t) #再转时间戳并进行计算 c_t = time.mktime(struct_t) print(c_t) c_t_new = c_t + (30*24*3600) print(c_t_new) #最后再转时间戳再转成字符串时间 struct_t_new = time.localtime(c_t_new) str_t_new = time.strftime('%Y-%m-%d %X',struct_t_new) print(str_t_new) #2、 #当前时间戳 time_now = time.time() time_before = time_now - 30*24*3600 #之前结构化时间 struct_before = time.localtime(time_before) # 之前字符串时间 str_before = time.strftime('%Y-%m-%d %X',struct_before) print(str_before) ###总结:### # 最主要的是:相互转换:4个;****** # 再加一个获取当前时间戳:time.time() # 计算的时候只能先转成时间戳再进行计算! ''' 字符串时间————>结构化时间 strptime() 结构化时间————>时间戳 mktime() 时间戳 ————>结构化时间 localtime() 结构化时间————>字符串时间 strftime() ''' ''' ### 注意: # strftime('格式','结构化时间') 格式可以少写 # strptime('字符串时间','格式') 格式必须跟字符串时间一一对应! '''