溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python比較2個(gè)時(shí)間大小的實(shí)現(xiàn)方法

發(fā)布時(shí)間:2020-09-07 18:18:22 來源:腳本之家 閱讀:1543 作者:WarmSword 欄目:開發(fā)技術(shù)

Python中有time和datetime,不過二者都直接取出日期和時(shí)間。 當(dāng)需要比較2個(gè)時(shí)間的先后時(shí),這兩個(gè)類的函數(shù)都顯得有些過于復(fù)雜。因?yàn)樗鼈兌紟狭巳掌凇?/p>

如果僅想比較時(shí)間,取出當(dāng)前時(shí)間會(huì)帶有日期信息,而指定比較的目標(biāo)時(shí)間時(shí)還要給日期部分賦值。那個(gè)time_struct,一大堆的參數(shù)。賦值感覺很麻煩哦。

不用什么函數(shù),直接將當(dāng)前時(shí)間格式化成字符串然后轉(zhuǎn)換成整數(shù)進(jìn)行比較。 如下表示當(dāng)前時(shí)間在09:35:10與15:01:01之間。

150101 > int(time.strftime("%H%M%S")) > 93510

簡單的比較函數(shù)

此處用time寫了一個(gè)簡易比較方法。思路是將時(shí)間部分格式化成字符串,然后轉(zhuǎn)成數(shù)字,直接相減來判斷先后。

def time_cmp(first_time, second_time):
 print(first_time)
 print(second_time)
 return int(time.strftime("%H%M%S", first_time)) - int(time.strftime("%H%M%S", second_time))

測試結(jié)果

測試與輸出如下:

print(time_cmp(time.gmtime(), time.strptime("09:35:10", "%H:%M:%S")))
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=9, tm_hour=15, tm_min=13, tm_sec=44, tm_wday=3, tm_yday=68, tm_isdst=0)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=9, tm_min=35, tm_sec=10, tm_wday=0, tm_yday=1, tm_isdst=-1)
57834

tips

可見這個(gè)函數(shù)是可以達(dá)到比較時(shí)間先后的目的的。從打印的時(shí)間信息可以看出來,未賦值的日期部分是元年日期,所以不太嚴(yán)謹(jǐn)。

以上這篇Python比較2個(gè)時(shí)間大小的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI