python时间模块
#时间模块 #time模块中时间表现的格式主要有三种: # 1.时间戳时间(timestamp),时间戳表示是从英国敦伦时间1970年1月1日00:00:00开始按秒计算的偏移量 # 2.结构化时间(struct_time),时间对象,能够通过属性名来获取对象中的值,共有九个元素组 # 3.格式化时间(format_time),已格式化的结构让时间更具可读性,可以根据自定义时间格式和固定格式 #常用方法: # 1:time.sleep(secs) # (线程)推迟指定的时间运行,单位为秒 # import time # time.sleep(3) # 程序运行时间延迟 # print(222) # time.sleep(2) # print(3333) # 2:time.time() # 获取当前的时间戳时间 # import time # print(time.time()) #1533718497.7569118 float类型 #表示时间的三种方式 #1)时间戳表示从1970年1月1日00:000:00开始按秒计算的偏移量 # 运行type(time.time()) ,返回的是float类型 #2) 格式化的时间字符串 # %Y 四位数的年份表示(000-9999) # %y 两位数的年份表示(00-99) # %m 月份 (01-12) # %d 月中的一天(01-31) # %H 24小时制时间(00-23) # %I 12小时制时间(00-12) # %M 分钟数(00-59) # %S 秒 (00-59) # %a 本地简化星期名称() # %A 本地完整星期名称 # %b 本地简化月份名称 # %B 本地完整月份名称 # %c 本地相应的日期表示和时间表示 # %j 年内的一天(001-365) # %p 本地A.M或P.M 的等价符 # %U 一年中的星期数(00-53)星期天为星期的开始 # %w 星期(0-6) 星期天为星期的开始 # %W 一年中的星期数(00-53)星期一位星期的开始 # %x 本地相应的日期时间 # %X 本地相应的时间表示 # %Z 当前时区的名称 # %% %号本身 #3)结构化时间(struct_time) 元组中共有9个元素(年,月,日,时,分,秒,一年中第几周 # 索引 属性 值 # 0 tm_year(年) 如2018 # 1 tm_mon(月) 1-12 # 2 tm_mday(日) 1-31 # 3 tm_hour(时) 0-23 # 4 tm_min(分) 0-59 # 5 tm_sec(秒) 0-60 # 6 tm_wday(星期) 0-6(0表示周一) # 7 tm_wday(星期) 1-366 # 8 tm_isdst(是否夏令时) 默认为0 # #在python中表示时间的几种格式 import time # 获取当前时间戳时间 time.time() print(time.time()) # 1533721056.719276 # 时间字符串 time.strftime("%Y-%m-%d %X") # 当前格式化时间 print(time.strftime("%Y-%m-%d %X")) time.strftime("%Y-%m-%d %H:%M:%S") print(time.strftime("%Y-%m-%d %H:%M:%S")) # 时间元组 localtime 将一个时间戳时间转换为当前时区的struct_time time.localtime() # def localtime(seconds=None) print(time.localtime()) # 获取当前格式化时间 # time.struct_time(tm_year=2018, tm_mon=8, tm_mday=8, tm_hour=17, tm_min=47, tm_sec=22, tm_wday=2, tm_yday=220, tm_isdst=0) # 注:时间戳时间是计算机能够识别的时间,时间字符串是人能够看懂的时间;元组则是用 # 来操作时间的. #几种格式之间的转换 #1时间戳时间转 结构化时间 #time.gmtime(时间戳) # UCT时间,与英国伦敦当地时间一致 #time.localtime(实际戳) # 当地时间,北京时间,与UTC相差8小时 print(time.gmtime(1500000000)) #结果 #time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm print(time.localtime(1500000000)) #结果 #time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0) # 两个结果的时间相差8个小时 #2 结构化时间转时间戳时间 #time.mktime(结构化时间) time_tuple = time.localtime(1500000000) print(time.mktime(time_tuple)) # 结果: # 1500000000.0 # 3) 结构时间--转格式化时间 #time.strftime("格式化时间","结构化时间") 结构化时间不传,则显示当前时间 print(time.strftime("%Y-%m-%d")) print(time.strftime("%Y-%m-%d",time.localtime(1500000000))) # 结果 # 2018-08-08 # 不传参显示当前时间 # 2017-07-14 传参显示传参对应的格式化时间 #4.字格式化时间转 结构化时间 print(time.strptime("2018-8-4","%Y-%m-%d")) print(time.strptime("2018/8/4","%Y/%m/%d")) #结果 #time.struct_time(tm_year=2018, tm_mon=8, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=216, tm_isdst=-1) # time.struct_time(tm_year=2018, tm_mon=8, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=216, tm_isdst=-1) #5.结构化时间 转 %a %b %d %H:%M:%Y串 #time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串 print(time.asctime()) print(time.asctime(time.localtime(1500000000))) #结果 #Wed Aug 8 18:47:44 2018 #Fri Jul 14 10:40:00 2017 #6.时间戳时间 转 %a %b %d %H:%M:%Y串 #time.ctime(时间戳时间) 如果不传参数,直接返回当前时间的格式化串 print(time.ctime()) print(time.ctime( 1500000000)) #结果 #Wed Aug 8 18:50:39 2018 #Fri Jul 14 10:40:00 2017