Мне нужно определить продолжительность между двумя DateTimes в минутах.
Однако есть небольшой поворот:
[30.09.2010 6:39:00
PM] - [30.09.2010 19:39:00] = 21
Минуты
Мне просто трудно придумать достойный способ сделать это, и я буду признателен, если кто-нибудь сможет что-то предложить.
Спасибо.
Изменить:
В итоге я выбрал решение dtb. . Есть только один особый случай, о котором нужно позаботиться: если время окончания после 19:00, отсчитайте минуты с 7:00 до фактического времени окончания.
Я изменил его следующим образом:
var minutes = from day in start.DaysInRangeUntil(end)
where !day.IsWeekendDay()
let st = Helpers.Max(day.AddHours(7), start)
let en = (day.DayOfYear == end.DayOfYear ?
end :
Helpers.Min(day.AddHours(19), end)
)
select (en - st).TotalMinutes;
Опять же , спасибо за помощь.