我正在嘗試在一個項目中工作,在這個項目中,我有一系列需要在開始工作之前需要考慮的中斷日期。例子說明如下:python中處理日期範圍的最佳方法
我得到一個JSON組日期爲這樣的停電:
blackout1:
startTime: 1-1-2016
endTime: 1-10-2016
blackout2:
startTime: 1-5-2016
endTime: 1-11-2016
blackout3:
startTime: 2-2-2016
endTime: 2-3-2016
,你可以看到其中的一些重疊和一些不。我也得到的作業列表上,如下具體日期運行:
job1:
runDate: 1-3-2016
job2:
runDate: 1-13-2016
所以在我的例子只有作業2應該運行,因爲它不是安排在一個停電的日期。 我查找日期的方式是爲startTime和endTime創建兩個集合,然後使用startTime集合中的第一個日期和endTime中的最後一個日期作爲第一個檢查的範圍,當我完成作業時。如果一個工作超出了這個範圍,那麼我會安排它運行,但是如果它在這個範圍內,那麼我會在所有日期檢查它。我正在採取這種方式來提高性能,因此如果作業不在此範圍內,我將不會循環所有停電日期。 我不確定這是否是處理這種情況的最佳方式,也不確定我是否也使用最佳數據結構。
尋找更多的想法。
在此先感謝!
你是否有這麼多的日期限制以至於簡單的線性傳遞都過於緩慢? –