我有當前的時間變數strings:
Time
18:29:36.809889
18:30:16.291965
我想計算這兩個值之間的差異(可能是一個浮點數)。如何決議字串并執行操作?
謝謝!
uj5u.com熱心網友回復:
此代碼將產生以秒為單位的差異
time1 = "18:29:36.809889"
time2 = "18:30:16.291965"
hr1, min1, sec1 = time1.split(":")
hr2, min2, sec2 = time2.split(":")
ms1 = float(sec1) int(min1)*60 int(hr1)*60*60
ms2 = float(sec2) int(min2)*60 int(hr2)*60*60
print(abs(ms2 - ms1))
但是,我必須補充一點,使用字串操作計算時間差異不是正確的方法。無論您從何處獲取時間戳,都可以將它們轉換為紀元時間,從而更輕松地獲得差異。
uj5u.com熱心網友回復:
將時間字串轉換為日期時間實體,然后將差值作為timedelta物件,您可以從中獲取浮點值作為總秒數。
from datetime import datetime
a = '18:29:36.809889'
b = '18:30:16.291965'
date1 = datetime.strptime(a, '%H:%M:%S.%f')
date2 = datetime.strptime(b, '%H:%M:%S.%f')
delta = date2 - date1
print(delta)
print(delta.total_seconds(), "seconds")
輸出:
0:00:39.482076
39.482076 seconds
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/346064.html
上一篇:將輸入文本決議為陣列和求和值
