1
我只是試圖找到一個邏輯來解決這個問題,但我堅持。用重疊時間計算時間差
我在我的數據庫中有6個日期時間列。像下面一樣
StartDate = {14/1/2012 11:00:00 AM}
EndDate= {14/1/2012 11:30:00 AM}
**Break between start and End Date is 30 mins**
StartDate2 = {14/1/2012 11:30:00 AM}
EndDate2= {14/1/2012 12:30:00 PM}
**Break between start1 and End1 Date is 1hr**
StartDate3 = {14/1/2012 12:00:00 PM}
EndDate3= {14/1/2012 01:30:00 PM}
**Break between start2 and End2 Date is 1hr is 1hr**
我試圖找到每個日期集之間的中斷和總結最後。
對於如:開始和結束日期之間
StartDate = {14/1/2012 11:00:00 AM}
EndDate= {14/1/2012 11:30:00 AM}
休息30分鐘。
但是,如果您看到開始和結束日期2和3,則時間重疊。所以不確定在這種情況下時間跨度如何。
所有三個時間戳和總結之間的徹底決裂應該2小時30分鐘
請有人拋出一些想法來解決這個問題。
由於提前
感謝dasblinkenlight,如果我錯了糾正我,所以我必須勾選「滴答」的所有兩個日期之間,如果沒有負面的話,我可以減去,如果沒有得到負值並加回。 – Usher 2013-02-11 03:23:50
爲例如:ENDDATE2 = {14/1/2012下午12點三十分00秒} StartDate3 = {14/1/2012 12:00:00 PM} 變種DT1 = DateTime.Parse(ENDDATE2); var dt2 = DateTime.Parse(StartDate3); var diff = dt2.Subtract(dt1); 如果(diff.Ticks <0){ 這裏 得到這意味着-30 差} 現在減去 之間的時間(StartDate3 - 結束DATE3)-30分鐘。 這是邏輯有意義的 – Usher 2013-02-11 03:27:17
@Usher,如果你想檢查開始日期是否晚於結束日期,你可以簡單地使用'if(startDate> endDate)'。這可能更有意義,然後計算差異並檢查其正/負號。 – 2013-02-11 03:31:32