如何使用winform的按钮控件控制DateTimePicker控件的时间变化;
比如,我点击一个本周按钮,DateTimePicker控件的时间显示为:2023-06-19至2023-06-25
点击本周按钮时,时间默认从周一到周日结束;
我点击一个本月按钮,DateTimePicker控件的时间显示为:2023-06-01至2023-06-30
我点击一个上月按钮,DateTimePicker控件的时间显示为:2023-05-01至2023-05-31
我点击一个近两周按钮,DateTimePicker控件的时间显示为:2023-06-12至2023-06-25
点击近两周按钮时,时间也是默认从周一到周日结束;
你可以参考以下代码:
private void ThisWeekButton_Click(object sender, EventArgs e)
{
DateTime startDate = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
DateTime endDate = startDate.AddDays(6);
dateTimePicker1.Value = startDate;
dateTimePicker1.CustomFormat = "yyyy-MM-dd";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.Value = endDate;
}
private void ThisMonthButton_Click(object sender, EventArgs e)
{
DateTime startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
DateTime endDate = startDate.AddMonths(1).AddDays(-1);
dateTimePicker1.Value = startDate;
dateTimePicker1.CustomFormat = "yyyy-MM-dd";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.Value = endDate;
}
private void LastMonthButton_Click(object sender, EventArgs e)
{
DateTime startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1);
DateTime endDate = startDate.AddMonths(1).AddDays(-1);
dateTimePicker1.Value = startDate;
dateTimePicker1.CustomFormat = "yyyy-MM-dd";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.Value = endDate;
}
private void TwoWeeksButton_Click(object sender, EventArgs e)
{
DateTime startDate = DateTime.Today.AddDays(-13);
DateTime endDate = DateTime.Today;
dateTimePicker1.Value = startDate;
dateTimePicker1.CustomFormat = "yyyy-MM-dd";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.Value = endDate;
}
private int DayOfWeek;
DateTime dt = DateTime.Now; //当前时间
public TimeFrm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DateTime startDate = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //获取本周的周一日期
Console.WriteLine("本周周一是:" + startDate);
DateTime endDate = startDate.AddDays(6); // 获取本周日的日期
Console.WriteLine("本周周日是:" + endDate);
dateTimePicker1.Value = startDate;
dateTimePicker2.Value = endDate;
}