2017-03-06 76 views
0

我有兩個datetime64對象a和b,我想確定它們是否在彼此的某個範圍內。但是,範圍不對稱。如果a在b的-30和120分鐘之內(a是早於半小時到b兩個小時),則這兩者在期望的範圍內。我的日期時間對象看起來像%m /%d /%Y%H:%M。我試過說:如何檢查兩個日期時間是否在一定範圍內?

difference = a - b 
if (-30 <= difference <= 120): 
    #Do stuff 

但是,這不起作用,因爲差異不是在幾分鐘內。我不知道如何執行此比較。我知道timedelta可以用於日期時間比較,但我不知道如何將它用於像這樣的不對稱範圍。

謝謝。

+0

您是否有一種方法將某個時間添加到日期時間或是恆定的? –

回答

1

比較timedeltadifference其他兩個timedelta S:

from datetime import timedelta 
if timedelta(minutes=-30) <= difference <= timedelta(minutes=120): 
0

你可以,我想,在Time difference in seconds from numpy.timedelta64建立在公認的答案。

>>> import numpy as np 
>>> a = np.datetime64('2012-05-01T01:00:00.000000+0000') 
>>> b = np.datetime64('2012-05-15T01:00:00.000000+0000') 
>>> diff=b-a 
>>> diff.item().total_seconds() 
1209600.0 
>>> minutes = 1209600.0/60 
>>> minutes 
20160.0 
>>> -30 <= minutes <= 120 
False 
相關問題