2017-03-06 54 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 
相关问题