可以使用CalendarPeriodCollector的Time Period Library for .NET的:
// ----------------------------------------------------------------------
public void NightHours()
{
CalendarPeriodCollectorFilter filter = new CalendarPeriodCollectorFilter();
filter.CollectingHours.Add(new HourRange(0, 5)); // working hours
filter.CollectingHours.Add(new HourRange(23, 24)); // working hours
CalendarTimeRange testPeriod =
new CalendarTimeRange(new DateTime(2014, 4, 1),
new DateTime(2014, 4, 3));
Console.WriteLine("Calendar period collector of period: " + testPeriod);
CalendarPeriodCollector collector =
new CalendarPeriodCollector(filter, testPeriod);
collector.CollectHours();
Console.WriteLine("Duration: " + new DateDiff(collector.Periods.TotalDuration));
} // NightHours
你在哪裏stucked? –
日期會相隔一天嗎? 2014-04-02 23:00和2014-04-10 07:00' – SWeko