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