获取指定年份/月份的周末(周六、周天)
using System;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace KUN.CONTROL
{
public partial class 获取周末 : Form
{
public 获取周末()
{
InitializeComponent();
}
private void 获取周末_Load(object sender, EventArgs e)
{
this.cmbYear.SelectedIndex = 0;
this.cmbMonth.SelectedIndex = 0;
}
private void button1_Click(object sender, EventArgs e)
{
int year = int.Parse(this.cmbYear.Text);
if (!this.cmbMonth.Text.Equals("全部"))//获取指定月份的周末--双休哦
{
int month = int.Parse(this.cmbMonth.Text);
string str = NewMethod(year, month);
this.textBox1.Text = str.ToString();
int days = int.Parse(this.textBox1.Lines.Count().ToString()) - 1;
this.textBox2.Text = year + "年" + month + "月,周末有" + days + "天";
}
else//获取指定年份的周末--双休哦
{
StringBuilder buf = new StringBuilder();
string str = string.Empty;
for (int i = 1; i <= 12; i++)
{
str = NewMethod(year, i);
buf.Append(str);
}
this.textBox1.Text = buf.ToString();
int days = int.Parse(this.textBox1.Lines.Count().ToString()) - 1;
this.textBox2.Text = year + "年周末有" + days + "天";
}
}
private string NewMethod(int year, int month)
{
// 某年某月的第一天
DateTime t = new DateTime(year, month, 1);
StringBuilder buf = new StringBuilder();
do
{
// 星期天为周末
if (t.DayOfWeek == DayOfWeek.Sunday || t.DayOfWeek == DayOfWeek.Saturday)
{
// 输入周末日期
buf.AppendLine(t.ToString("yyyy-MM-dd dddd"));
}
t = t.AddDays(1);
} while (t.Month == month);
return buf.ToString();
}
}
}
运行效果如下:
标记指定日期
private void button2_Click(object sender, EventArgs e)
{
DateTime test= new DateTime(2019, 4, 11);
monthCalendar1.AddBoldedDate(test);//加粗
monthCalendar1.BackColor = Color.Red;
monthCalendar1.UpdateBoldedDates();//重绘粗体格式的日期
DateTime test1 = new DateTime(2019, 4, 20);
monthCalendar1.AddBoldedDate(test1);//加粗
monthCalendar1.BackColor = Color.Red;
monthCalendar1.UpdateBoldedDates();//重绘粗体格式的日期
DateTime test2 = new DateTime(2019, 4, 15);
monthCalendar1.AddBoldedDate(test2);//加粗
monthCalendar1.BackColor = Color.Red;
monthCalendar1.UpdateBoldedDates();//重绘粗体格式的日期
}
运行效果如下: