计算两个日期之间特定工作日的数量

时间:2015-04-15 22:58:07

标签: c# algorithm

我想计算两个日期之间的工作日数

例如:

来自:2015年1月1日 致:2015年10月1日

星期一的数量= 1

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您可以在开始日期之后(或之后)找到第一个星期一,在结束日期之前(或之前)找到最后一个星期一,然后将天数差异除以7.示例:

DateTime start = new DateTime(2015, 1, 1);
DateTime end = new DateTime(2015, 1, 10);

while (start.DayOfWeek != DayOfWeek.Monday) start = start.AddDays(1);
while (end.DayOfWeek != DayOfWeek.Monday) end = end.AddDays(-1);

int mondays = start > end ? 0 : (int)((end - start).TotalDays) / 7 + 1;