[英]How to find the difference between two times in Python?
我試圖在Python中找到兩次之間的區別。 確保時間在同一天。
#For example
s1 = '13:00'
s2 = '12:58'
兩次之間的差應為2分鍾。 輸出應為: 2
這是我的代碼:
from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
print(tdelta)
但它返回:
-1 day, 23:58:00
我該如何解決並將我的時間返回為: 2
您可以嘗試使用abs
作為結果,即abs(datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT))
:
from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = abs(datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT))
print(tdelta)
結果:
0:02:00
如以下評論中所建議,如果您特別希望minutes
不同,則可以在tdelta
使用.total_seconds()/60
:
from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
minutes_difference = abs(tdelta.total_seconds()/60)
print(minutes_difference)
結果:
2.0
在這里我喜歡這個家伙的做法
還有一些代碼片段
從datetime導入datetime
from dateutil.relativedelta import relativedelta
t_a = datetime.now()
t_b = datetime.now()
def diff(t_a, t_b):
t_diff = relativedelta(t_b, t_a) # later/end time comes first!
return '{h}h {m}m {s}s'.format(h=t_diff.hours, m=t_diff.minutes, s=t_diff.seconds)
您可以使用Python pandas庫:
import pandas as pd
time_1 = pd.Timestamp('13:00')
time_2 = pd.Timestamp('12:58')
delta = time_1 - time_2
print(delta)
Timestamp()方法將允許您創建一個簡單的Timestamp。 這是您的輸出:
0 days 00:02:00
除非另有說明,否則時間戳記應該在同一天。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.