0%

在 Python 里比较两个时间的大小

非常奇怪的是 python 里面并没有直接比较时间 (时间, 时间, 时间 !!! 不是日期, 那些把日期和时间混淆的博客都应该烧到元宇宙去)

本文介绍一种计算两个时间差的算法, 非常简单粗暴. 若有更好用的算法请大佬不吝赐教

由于代码非常简单就不解释了.

def MinusTime(futureTime, passTime): # (datetime.time, datetime.time)
    futureTimeStr = str(futureTime)
    passTimeStr = str(passTime)
    hour1 = int(futureTimeStr.split(":")[0])
    hour2 = int(passTimeStr.split(":")[0])
    min1 = int(futureTimeStr.split(":")[1])
    min2 = int(passTimeStr.split(":")[1])
    sec1 = int(futureTimeStr.split(":")[2])
    sec2 = int(passTimeStr.split(":")[2])

    if(hour1 < hour2):
        hour1 += 24
    diffHour = hour1 - hour2
    if(min1 < min2):
        diffHour -= 1
        min1 += 60
    diffMin = diffHour * 60 + min1 - min2
    if(sec1 < sec2):
        diffMin -= 1
        sec1 += 60
    diffSec = diffMin * 60 + sec1 - sec2
    return 
if __name__ == "__main__":
    futureTime = "00:30"
    passTime = "23:31"

    futureTime = datetime.strptime(futureTime,"%H:%M").time()
    passTime = datetime.strptime(passTime,"%H:%M").time()
    print(futureTime) # 00:30:00
    print(passTime) # 23:31:00

    diffTime = MinusTime(futureTime, passTime)

    print(diffTime) # 3540