常用的時間函數如下
獲取當前日期: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())
未完待續......