在 C# 中计算两个日期之间的假日数

本文关键字:日期 两个 之间 假日 计算 | 更新日期: 2023-09-27 18:32:17

我正在寻找一个优化函数,它将返回 C# 中两个给定日期之间的公共假期和周末数量


实际上,要求是将假期和周末结合起来,为用户创建一个好的假期计划。我不需要担心国家和宗教,因为我有网络服务来处理特定国家和宗教的假期

在 C# 中计算两个日期之间的假日数

您的问题可以分为两个问题:

  1. 如何计算假期?
  2. 如何计算两个给定范围之间的假期数量?

第一个问题有很多答案。您可以在数据库中输入它们,从网站下载,查找计算您的文化/环境的假期的 C# 类(有很多!

然后,您必须遍历从开始到结束日期的天数。这可以很容易地完成:

DateTime startTime = new DateTime(2011, 4, 1);
DateTime endTime = new DateTime(2012, 4, 1);
int numberOfHolidays;
for (DateTime currentDate = startTime; currentDate <= endTime currentDate = currentDate.AddDays(1)) {
    if (isHoliday(currentDate) || isWeekendDay(currentDate))
      numberOfHolidays++;
}

您必须自己实现isHolidayisWeekendDay的方法,请参阅第一个问题部分的答案。