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

时间:2015-12-14 15:54:33

标签: c#

在Windows窗体C#中,我想将DateTimePicker设置为某个time并保留自定义的date(我从date中选择的任何dateTimePicker)单击按钮。

例如:

说我们有这个日期和时间:2015-08-15 08:30:00我想点击按钮时date保持不变,time更改为11:30:00

我的意思是,如果我从date中选择任何dateTimePicker,然后点击按钮,则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

    }

2 个答案:

答案 0 :(得分:2)

前一段时间我不得不做类似的事情。我最终有两个相邻的日期时间选择器,一个用于日期,另一个用于时间。然后在每个值的更改事件中,我适当地设置两个日期时间选择器的值。例如,如果我有 dtpDatedtpTime,然后

    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
    }

答案 1 :(得分:1)

您需要将其设置为自定义格式,然后将时间设置为您想要的时间

    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);
}

这将保留您当前在日期时间选择器中设置的日期,并且只会更新自客户结构强制进入其中的时间。

DateTimePicker1.Value = DateTime.Now;

将保留日期并强制时间到下午3:23。

请注意还有

DateTime.Now.Year这将设置当前计算机的确切日期和时间。

DateTime.Now.Month获取当前年份

DateTime.Now.Day获取当前月份

{{1}}获取当天

您可以使用所有这些来操纵日期时间选择器。