python time模块详解

在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

猜你喜欢

转载自www.cnblogs.com/linshuhui/p/8995239.html