计算给定时间段内的正常工作日
需要一些帮助。我需要计算给定日期范围内的正常工作日,例如,在我们的国家/地区,星期一至星期五有5个正常工作日,那么在代码中,我需要在计算中使用星期六和星期天。
我在C#中需要这样的算法:
int GetRegularWorkingDays(DateTime startDate, DateTime endDate) {
int nonWorkingDays = ((endDate - startDate) % 7) * 2;
return (endDate - startDate) - nonWorkingDays;
}
我知道我的草案还很遥远:(。预先感谢。=)
回答:
在Code
Project上查看此示例,该示例使用了一种非常高效的方式,不涉及任何循环;)
它使用以下算法:
- 计算时间跨度(以周为单位)。叫它W。
- 从周数中减去第一周。W = W-1
- 将周数乘以每周工作日数。叫D
- 找出指定时间段内的假期。叫它H
- 计算第一周的天数。称之为SD。
- 计算最后一周的天数。ED,叫它
- 一整天总结一下。BD = D + SD + ED-H。
以上是 计算给定时间段内的正常工作日 的全部内容, 来源链接: utcz.com/qa/413605.html