在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
}
答案 0 :(得分:2)
前一段时间我不得不做类似的事情。我最终有两个相邻的日期时间选择器,一个用于日期,另一个用于时间。然后在每个值的更改事件中,我适当地设置两个日期时间选择器的值。例如,如果我有
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
}
答案 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}}获取当天
您可以使用所有这些来操纵日期时间选择器。