常用的时间函数如下
获取当前日期:time.time()
获取元组形式的时间戳:time.local(time.time())
格式化日期的函数(基于元组的形式进行格式化):
(1)time.asctime(time.local(time.time()))
import time #最简单的获取可读的时间模式的函数是asctime(): localtime = time.asctime( time.localtime(time.time()) ) print ("本地时间为 :", localtime) #本地时间为 : Thu Apr 7 10:29:13 2016
(2)time.strftime(format[,t]) 格式化日期
#---strftime 方法来格式化日期 import time # 格式化成2016-03-20 11:45:39形式 print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 格式化成Sat Mar 28 22:24:24 2016形式 print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) # 将格式字符串转换为时间戳 a = "Sat Mar 28 22:24:24 2016" print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
'''
2016-04-07 10:29:46
Thu Apr 07 10:29:46 2016
1459175064.0
'''
(3)time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式把一个时间字符串解析为时间元组
import time struct_time = time.strptime("30 Nov 00", "%d %b %y") print ("返回元组: ", struct_time) #返回元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
将格式字符串转换为时间戳:
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
(4)time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)
# 将格式字符串转换为时间戳 a = "Sat Mar 28 22:24:24 2016" print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))) #1459175064.0
延迟执行:time.sleep([secs]),单位为秒
例一:
import time print(time.time())#当前时间 #1525245495.8187146 print(time.localtime()) print(time.localtime(time.time()))#与上一句等价 #简单可读形式 #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=15, tm_min=18, tm_sec=15, tm_wday=2, tm_yday=122, tm_isdst=0) print(time.asctime( time.localtime(time.time()))) # 格式化成 Wed May 2 15:18:15 2018形式 #Wed May 2 15:18:15 2018 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 格式化成2018-05-02 15:18:15形式 print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) # Wed May 02 15:18:15 2018 a = "Sat Mar 28 22:24:24 2016" print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
例子二,计算时间间隔:
def calc_time(timeStr): #timeStr = '2017-3-7 23:59:00' 时间格式 timeArray = time.strptime(timeStr, "%Y-%m-%d %H:%M:%S") #strptime 方法可以将一个时间字符串转成 struct_time timestamp = time.mktime(timeArray) #用 mktime 转成 时间戳 return int(timestamp-time.time())
未完待续......