Visual studio 2008 在.net中的windows应用程序中计算当月除星期日以外的工作日数

Visual studio 2008 在.net中的windows应用程序中计算当月除星期日以外的工作日数,visual-studio-2008,Visual Studio 2008,要在.net中的windows应用程序中计算当月不包括星期日在内的工作日数,请任何人尽快提供帮助。这个想法是排除非工作日。以下是一个基本示例: // define non working days of week var nonWorkingDaysOfWeek = new List<DayOfWeek> { DayOfWeek.Sunday // hard-coded for example }; // define specific non-worki

要在.net中的windows应用程序中计算当月不包括星期日在内的工作日数,请任何人尽快提供帮助。

这个想法是排除非工作日。以下是一个基本示例:

// define non working days of week
var nonWorkingDaysOfWeek = new List<DayOfWeek>
   {
       DayOfWeek.Sunday // hard-coded for example
   };

// define specific non-working dates
var holidays = new List<DateTime>
   {
       new DateTime(2010, 12, 25) // hard-coded for example
   };

// tally the working days
var currentYear = 2010; // hard-coded for example
var currentMonth = 12; // hard-coded for example
var daysInCurrentMonth = DateTime.DaysInMonth(currentYear, currentMonth);
var numberOfWorkingDays = 0;
for (var day = 1; day <= daysInCurrentMonth; day++)
{
    var date = new DateTime(currentYear, currentMonth, day);
    if (!nonWorkingDaysOfWeek.Contains(date.DayOfWeek) && !holidays.Contains(date))
    {
        numberOfWorkingDays++;
    }
}
//定义一周中的非工作日
var nonWorkingDaysOfWeek=新列表
{
DayOfWeek.Sunday//例如,硬编码
};
//定义特定的非工作日期
var假日=新列表
{
new DateTime(2010,12,25)//例如硬编码
};
//计算工作日
var currentYear=2010;//例如,硬编码
var currentMonth=12;//例如,硬编码
var daysInCurrentMonth=DateTime.DaysInMonth(currentYear,currentMonth);
var numberOfWorkingDays=0;

对于(var day=1;day这将计算一个月内非星期日的数字(示例显示当前月份)

            var daysThisMonthThatAreNotSundays =
            Enumerable.Range(1, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)).Where(
                d => new DateTime(DateTime.Now.Year, DateTime.Now.Month, d).DayOfWeek != DayOfWeek.Sunday).Count();