python之time模块
time模块
和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。
#常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行。单位为秒。 2.time.time() 获取当前时间戳
表示时间的三种方式
在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
(2)格式化的时间字符串(Format String): ‘1999-12-06’
%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 当前时区的名称 %% %号本身
(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

首先,我们先导入time模块,来认识一下python中表示时间的几种格式:
import time #导入模块 print(time.time()) #时间戳时间 print(time.strftime('%Y-%m-%d %x')) #字符串格式化时间 print(time.strftime('%Y-%m-%d %H:%M:%S')) print(time.localtime()) #结构化时间本地时间 print(time.gmtime()) #结构化时间英国时间 #时间戳和格式化时间都是依赖于结构化时间 p = time.strptime('2018-6-16', '%Y-%m-%d')
小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的
几种格式之间的转换

import time print(time.gmtime(1500000000)) #时间戳-->结构化时间 print(time.localtime(1500000)) #结构化时间-->时间戳 time_tuple = time.localtime(15000000) print(time.mktime(time_tuple)) #结构化时间-->字符串时间 print(time.strftime("%Y-%m-%d %x")) print(time.strftime("%Y-%m-%d ", time.localtime(1800000000))) #字符串时间-->结构化时间 print(time.strptime("2018-10-17","%Y-%m-%d")) print(time.strptime("01/01/2018", "%m/%d/%Y"))

#结构化时间 --> %a %b %d %H:%M:%S %Y串 #time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串 import time print(time.asctime(time.localtime(150000000))) print(time.asctime()) #时间戳 --> %a %b %d %H:%M:%S %Y串 #time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串 print(time.ctime()) print(time.ctime(18000000))
import time def cal_time(fmt_time, fmt): now = time.time() time_before = time.mktime(time.strptime(fmt_time, fmt)) sub_time = now - time_before struct_time = time.gmtime(sub_time) return '过去了%d年%d月%d天%d小时%d分钟%d秒' % (struct_time.tm_year - 1970, struct_time.tm_mon - 1, struct_time.tm_mday - 1, struct_time.tm_hour, struct_time.tm_min, struct_time.tm_sec) ret = cal_time('2018-8-17 08:30:00', '%Y-%m-%d %H:%M:%S') print(ret)

浙公网安备 33010602011771号