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

时间:2012-04-25 14:21:17

标签: c#

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


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

1 个答案:

答案 0 :(得分:4)

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

  1. 如何计算假期?
  2. 如何计算两个给定范围之间的假期数?
  3. 第一个问题有很多答案。您可以在数据库中输入它们,从网站下载,查找为您的文化/环境计算假期的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,请参阅第一个问题部分的答案。