C# 如何将DateTimePicker设置为特定时间并保留自定义日期?

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

在windows窗体C#中,我希望在单击按钮时将
日期时间选择器
设置为特定的
时间
,并保留自定义的
日期
(任何
日期
我从
日期时间选择器
中选择)

例如:

假设我们有这个日期和时间:
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