C# 如何将DateTimePicker设置为特定时间并保留自定义日期?
在windows窗体C#中,我希望在单击按钮时将C# 如何将DateTimePicker设置为特定时间并保留自定义日期?,c#,C#,在windows窗体C#中,我希望在单击按钮时将日期时间选择器设置为特定的时间,并保留自定义的日期(任何日期我从日期时间选择器中选择) 例如: 假设我们有这个日期和时间:2015-08-15 08:30:00我想当我点击按钮时,日期保持不变,时间更改为11:30:00 我的意思是,如果我从dateTimePicker中选择任何date,然后单击按钮,date保持不变,time更改为11:30:00 请帮助我实现这一目标 我可能需要修改以下代码以实现我的目标: private void butto
日期时间选择器
设置为特定的时间
,并保留自定义的日期
(任何日期
我从日期时间选择器
中选择)
例如:
假设我们有这个日期和时间:2015-08-15 08:30:00
我想当我点击按钮时,日期保持不变,时间更改为11:30:00
我的意思是,如果我从dateTimePicker
中选择任何date
,然后单击按钮,date
保持不变,time
更改为11:30:00
请帮助我实现这一目标
我可能需要修改以下代码以实现我的目标:
private void button1_Click(object sender, EventArgs e)
{
dateTimePicker1.Value = DateTime.Today.AddHours(11.5); // shows you current date and 11:30:00 time
}
private void button1_Click(object sender, EventArgs e)
{
dateTimePicker1.Value = DateTime.Now; // shows you current date and time
}
不久前我不得不做类似的事情。最后,我有两个日期时间选择器,一个用于日期,另一个用于时间。然后在每个日期时间选择器的值更改事件上,我适当地设置了两个日期时间选择器的值。例如,如果我有
dtpDate
和dtpTime
,然后
private void dtpTime_ValueChanged(object sender, EventArgs
{
dtpDate.Value = dtpDate.Value.Date + dtpTime.Value.TimeOfDay
}
private void dtpDate_ValueChanged(object sender, EventArgs
{
dtpTime.Value = dtpDate.Value.Date + dtpTime.Value.TimeOfDay
}
您需要将其设置为自定义格式,然后将时间设置为所需的时间
private void button1_Click(object sender, EventArgs e)
{
DateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm tt";
DateTimePicker1 .Value = new DateTime(DateTimePicker1.Value.Year, DateTimePicker1.Value.Month, DateTimePicker1.Value.Day, DateTime.Now.Hour, DateTime.Now.Minute, 0);
}
这将保留您当前在datetime选择器中设置的任何日期,并且只会更新时间,因为custome formate将时间强制输入其中
private void button2_Click(object sender, EventArgs e)
{
DateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm tt";
DateTimePicker1.Value = new DateTime(DateTimePicker1.Value.Year, DateTimePicker1.Value.Month, DateTimePicker1.Value.Day, 15, 23, 0);
}
将保留日期并强制时间为下午3:23
请注意,还有
DateTimePicker1.Value=DateTime.Now
将设置当前计算机的确切日期和时间
DateTime.Now.Year
获取当前年份
DateTime.Now.Month
获取当前月份
DateTime.Now.Day
获取当前日期
您可以使用所有这些来随意操作日期时间选择器。将小时添加到dateTimePicker1.Value
而不是datetime.Today