第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

確定兩個(gè)日期范圍是否重疊

確定兩個(gè)日期范圍是否重疊

茅侃侃 2019-05-23 10:57:39
確定兩個(gè)日期范圍是否重疊給定兩個(gè)日期范圍,確定兩個(gè)日期范圍是否重疊的最簡(jiǎn)單或最有效的方法是什么?舉個(gè)例子,假設(shè)我們有通過(guò)日期時(shí)間變量表示的范圍StartDate1來(lái)EndDate1 和 StartDate2到EndDate2。
查看完整描述

3 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

(StartA <= EndB)和(EndA> = StartB)

證明:
讓ConditionA意味著DateRange完全在DateRange B之后
_                        |---- DateRange A ------| |---Date Range B -----|                           _
(如果是,則為True StartA > EndB

讓ConditionB表示DateRange A完全在DateRange B之前
|---- DateRange A -----|                       _ _                          |---Date Range B ----|
(如果是,則為True EndA < StartB

然后,如果A Nor B都不為真,則存在重疊 - 
(如果一個(gè)范圍既不完全在另一個(gè)范圍之后,
也不完全在另一個(gè)之前,那么它們必須重疊。)

現(xiàn)在,德摩根的一項(xiàng)法律規(guī)定

Not (A Or B) <=> Not A And Not B

這意味著: (StartA <= EndB)  and  (EndA >= StartB)


注意:這包括邊緣完全重疊的條件。如果你想排除,
改變>=運(yùn)營(yíng)商>,并<= 以<


筆記2。由于@Baodad,看到這個(gè)博客,實(shí)際的重疊是最少:
endA-startA,endA - startBendB-startA,endB - startB}

(StartA <= EndB)  and  (EndA >= StartB) (StartA <= EndB)  and  (StartB <= EndA)


注3。感謝@tomosius,更短的版本讀取:
DateRangesOverlap = max(start1, start2) < min(end1, end2)
這實(shí)際上是更長(zhǎng)實(shí)現(xiàn)的語(yǔ)法快捷方式,其中包括額外的檢查以驗(yàn)證開始日期是在endDates之前還是之前。從上面得出這個(gè):

如果開始日期和結(jié)束日期可能不正常,即,如果有可能startA > endA或者startB > endB,那么您還必須檢查它們是否有序,這意味著您必須添加兩個(gè)額外的有效性規(guī)則:
(StartA <= EndB) and (StartB <= EndA) and (StartA <= EndA) and (StartB <= EndB)或:
(StartA <= EndB) and (StartA <= EndA) and (StartB <= EndA) and (StartB <= EndB)或,
(StartA <= Min(EndA, EndB) and (StartB <= Min(EndA, EndB)) 或:
(Max(StartA, StartB) <= Min(EndA, EndB)

但要實(shí)現(xiàn)Min()Max(),你必須代碼,(使用簡(jiǎn)潔?三元),:
(StartA > StartB? Start A: StartB) <= (EndA < EndB? EndA: EndB)


查看完整回答
反對(duì) 回復(fù) 2019-05-23
?
翻翻過(guò)去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

我認(rèn)為,如果符合以下條件,兩個(gè)范圍重疊就足夠了:

(StartDate1 <= EndDate2) and (StartDate2 <= EndDate1)


查看完整回答
反對(duì) 回復(fù) 2019-05-23
  • 3 回答
  • 0 關(guān)注
  • 1062 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)