2012-11-23 51 views
1

我有一個方法,需要兩個字符串(時間),例如15:01 該方法應該花費時間,並做time1-time2並在幾分鐘內返回給我一個新的時間。 例如。 15:53 - 15:59應該給我6 minutes然而我卡住了。Python:比較兩次,並在幾分鐘內返回

這是我的代碼:

import datetime 
class timeCalc(object): 
    def timeDiff(self,time1,time2): 
     timeA = datetime.datetime.strptime(time1, "%H:%M") 
     timeB = datetime.datetime.strptime(time2, "%H:%M") 
     newTime = timeA - timeB 
+2

你爲什麼卡住了? 'newTime'給你什麼?當您探索該對象上可用的方法時會發生什麼? (爲什麼你在這裏定義一個類 - 爲什麼不是'timeDiff'只是一個函數?) –

+0

它給了我一個非常奇怪的格式的結果。我想在幾分鐘內獲得差異,然後當我在控制檯中進行打印時,會拋出錯誤 –

回答

4

您函數需要returnnewTime

import datetime 

def timeDiff(time1,time2): 
    timeA = datetime.datetime.strptime(time1, "%H:%M") 
    timeB = datetime.datetime.strptime(time2, "%H:%M") 
    newTime = timeA - timeB 
    return newTime.seconds/60 

print timeDiff('15:59','15:53'), 'minutes' 

>>> 6 minutes 

注:

我想你想newTime = timeB - timeA否則你必須通過倍像我一樣向後

+0

要在幾分鐘內得到答案,您應該返回'newTime.seconds/60'。 – olofom

+0

謝謝@olofom將它添加到我的答案+1 –