我需要确定两个日期时间之间的分钟数。
然而,有一个小问题:
- 排除周末
- 只计算在早上7点到晚上7点之间的分钟。
例如:
[09/30/2010 6:39:00 PM] - [09/30/2010 7:39:00 PM] = 21 Minutes
我一直很难想到一个合理的方法来实现它,如果有人能提供建议,我将不胜感激。
谢谢。
编辑:
最终我采用了dtb的解决方案。只有一种特殊情况需要处理: 如果结束时间在晚上7点后,则从早上7点到实际结束时间计算分钟。
这是我的修改方式:
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;
再次感谢您的帮助。