1. 程式人生 > >C#計算一個月的具體工作天數

C#計算一個月的具體工作天數

private void button1_Click(object sender, EventArgs e)
        {
            DateTime dt =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-01"));    // 當前日期月份的第一天
            int year = this.dateTimePicker1.Value.Year;             // 獲得年
            int month = this.dateTimePicker1.Value.Month;      // 獲得月
            int days = DateTime.DaysInMonth(year,month);     // 獲得該月總共多少天

            // 休息天數
            int weekDays = 0;

            for (int i = 0; i < days; i++) {
                // 判斷是否為週六,週日,是則記錄天數。
                switch (dt.DayOfWeek) {
                    case DayOfWeek.Saturday:
                        weekDays++;
                        break;
                    case DayOfWeek.Sunday:
                        weekDays++;
                        break;
                }
                dt= dt.AddDays(1);
            }
           // 工作日
            int workDays = days - weekDays;
            this.label1.Text ="工作日:"+ workDays.ToString() + "天";
        }