Я просто пытаюсь найти логику для решения этой проблемы, но застрял.Рассчитать разницу во времени с перекрывающимся временем
У меня есть 6-я дата-столбец в моем db. например, ниже
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, время перекрывается. поэтому не уверен, что временный интервал поможет в этом сценарии.
Общий перерыв между всеми тремя метки времени и сумма должна быть до 2hours 30 минут
Пожалуйста, кто-нибудь бросить некоторые идеи, чтобы решить эту проблему.
Заранее спасибо
Благодаря dasblinkenlight, Поправьте меня, если ошибаюсь, так что я должен проверить «тиков» между всеми датами и если нет отрицательна, то я может вычесть, если не получить отрицательное значение и добавить его обратно. – Usher
для например: EndDate2 = {14/1/2012 12:30:00 PM} StartDate3 = {14/1/2012 12:00:00} вар DT1 = DateTime.Parse (EndDate2); var dt2 = DateTime.Parse (StartDate3); var diff = dt2.Subtract (dt1); если (diff.Ticks <0) { здесь получить разницу, что означает -30 } Теперь вычитаем время между (StartDate3 - End date3) -30 мин. Эта логика имеет смысл – Usher
@ Если вы хотите проверить, наступает ли дата начала позже конечной даты, вы можете просто использовать 'if (startDate> endDate)'. Это может иметь больше смысла, чем вычислять разницу и проверять ее позитивный/отрицательный знак. –