在python中时间总共有三种表示的方式:
- 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回的是flot类型。产生时间戳方式的函数主要有time(),clock()等。
- 格式化的时间字符串(Format String)
- 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)。返回struct_time的方法有gmtime(),localtime(),strptime()
我们来看看time时间模块的常用方法:
import time #time()返回当前时间的一个时间戳 print(time.time()) #1525509143.3561425 (这是一个时间戳) #localtime()将一个时间戳转化为当前地区的一个struct_time(),未设置默认为当前时间 print(time.localtime(1525509143.3561425)) #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0) #gmtime()与localtime类似,不过返回的UTC世界标准时间。 print(time.gmtime(1525509143.3561425)) #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=8, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0) #mktime 将一个strut_time 转化为时间戳 print(time.mktime(time.localtime())) #1525509143.3561425 #clock()第一次返回的是程序运行时间,第二个是和第一个clock直接的时间差。 import time print(time.clock()) #4.72616147781398e-07 这个数基本等于0 time.sleep(2) print(time.clock()) #1.9999187100225817 等于2 #time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入。 print(time.asctime()) #Sat May 5 16:52:07 2018 #time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。 默认参数是time.time() print(time.ctime()) #Sat May 5 16:54:30 2018 #time.strftime(format[, t]):把一个代表时间的元组或者struct_time,转化为格式化的时间字符串。如果t未指定,将传入time.localtime() 常用的格式化控制符有,%Y 年 %m 月份 %d 天 %X 当地时间 %x当地日期 %M分钟数 print(time.strftime("%x %X",time.localtime())) #05/05/18 17:03:02 print(time.strftime("%Y %m %d %X",time.localtime())) #2018 05 05 17:04:49