C#计算一个月的具体工作天数

来源:互联网 发布:北京师范学校网络教育 编辑:程序博客网 时间:2024/05/21 22:34

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() + "天";
        }

原创粉丝点击