A. 開發解決方案 ● 如何知道兩個時間段是否重疊
活動的創建,如活動A和活動B的開始結束時間,不能重疊在一起
A和B的開始結束時間,不能重疊
設A的時間段為 2018年9月1日 18:00:00 - 2018年9月10日 18:00:00
設B的時間段為 2018年9月5日 18:00:00 - 2018年9月15日 18:00:00
可以利用區間重疊演算法
假設存在兩個區間 A[A1,A2] , B[B2,B2], 如何判斷區間A和B存在重疊?
演算法
Begin = Max(A1 , B1) ;
End = Min(A2 , B2) ;
Len = End - Begin
只要 Len >= 0 , 那麼AB區間重疊,Len為重疊的長度
所以以上的問題,可以把活動AB的開始以及結束時間,轉換成時間戳帶入,即可解決!
B. 求助,在excel中,如何計算,兩個時間段的重復天數
在EXCEL中,求重合時間的話,公式=MAX(0,(MIN(時段2結束,時段1結束)-MAX(時段2開始,時段1開始))) ,
求重合天數的話,公式=MAX(0,(MIN(時段2結束,時段1結束)-MAX(時段2開始,時段1開始)+1))
C. Excel 時間段重疊,該用什麼來判斷
在G2單元格輸入以下公式,然後向下填充公式
=IF(SUMPRODUCT((C$2:C$11=C2)*(D$2:D$11=D2)*(E$2:E$11<E2)*(F$2:F$11>E2))>0,"重疊","")
公式表示:如果同時滿足「C列等於C2」且「D列等於D2」且「E列小於E2」且「F列大於E2」的條件數大於0,則返回「重疊」,否則留空。
詳見附圖
D. 兩個時間段重合怎麼自動調整編程
使用遞歸演算法。兩個時間段重合需要使用遞歸演算法來進行調整,遞歸演算法在計算機科學中是指一種通過重復將問題分解為同類的子問題而解決問題的方法。如不喜歡遞歸,可以使用whie代替。
E. 求時間段重復演算法
假設時間段[a,b]
預約時間段[c,d]
將時間的分鍾的部分轉成小時,統一小時為單位。比如10:30 可以是10.5小時
if b=<c or a>=d:
true
else:
false
先看看你舉得例子:
9:00-10:00的最大值是10:00 比預約時間10:00-13:00的最小值小 所以肯定是不重復的了
13:00-14:00的最小值是13:00 比預約時間10:00-13:00的最大值大 也是不重復的