Calculate the number of business days between two dates?

后端 未结 30 1673
悲&欢浪女
悲&欢浪女 2020-11-22 14:54

In C#, how can I calculate the number of business (or weekdays) days between two dates?

30条回答
  •  没有蜡笔的小新
    2020-11-22 15:48

    I came up with the following solution

    var dateStart = new DateTime(2019,01,10);
    var dateEnd = new DateTime(2019,01,31);
    
    var timeBetween = (dateEnd - dateStart).TotalDays + 1;
    int numberOf7DayWeeks = (int)(timeBetween / 7);
    int numberOfWeekendDays = numberOf7DayWeeks * 2;
    int workingDays =(int)( timeBetween - numberOfWeekendDays);
    
    if(dateStart.DayOfWeek == DayOfWeek.Saturday || dateEnd.DayOfWeek == DayOfWeek.Sunday){
        workingDays -=2;
    }       
    if(dateStart.DayOfWeek == DayOfWeek.Sunday || dateEnd.DayOfWeek == DayOfWeek.Saturday){
        workingDays -=1;
    }
    

提交回复
热议问题