2013-07-18 56 views
1

如何獲取包含毫秒的兩個日期時間的平均值?Python:以毫秒爲單位計算日期時間的平均值

說我有這樣的:

s1 = '00:02:25' 
s2 = '00:04:40' 
FMT = '%M:%S:%f' 

d1 = datetime.strptime(s1, FMT) 
d2 = datetime.strptime(s2, FMT) 

據我所知,沒有任何UNIX毫秒方法。唯一的解決方案是將分鐘和秒分別轉換爲毫秒,然後計算平均值?

回答

3

我不確定你在找什麼結果。這足夠嗎?

import datetime as DT 

s1 = '00:02:25' 
s2 = '00:04:40' 
FMT = '%M:%S:%f' 

d1 = DT.datetime.strptime(s1, FMT) 
d2 = DT.datetime.strptime(s2, FMT) 

delta = (d2-d1)/2 
mid = d1 + delta 
print(mid) 

產生

1900-01-01 00:00:03.325000 
+3

爲原來的海報的註釋:它是有意義的* *減去日期(和得到的時間間隔,即一個'datetime.timedelta'對象),但不添加* *日期(正如人們爲了通過公式((d1 + d2)/ 2)得到平均值而做的那樣);同樣,爲日期添加時間間隔也很有意義。這就是unutbu的答案。 – EOL

+0

這就是我感到困惑的@EOL。感謝您的澄清。 – user2548487

相關問題