【问题标题】:How to set DateTimePicker to certain time and keep the current date?如何将 DateTimePicker 设置为特定时间并保持当前日期?
【发布时间】:2016-03-20 01:24:12
【问题描述】:

单击按钮时,我想将DateTimePicker 设置为显示日期和时间如下:

date = 当前日期。

time = 10:30:00.

以下代码同时更改日期和时间,但不保留当前日期:

private void button1_Click(object sender, EventArgs e)
{
    dateTimePicker1.Value = new DateTime(2010, 1, 1, 10, 30, 0);
}

我想要的是:如何自定义时间到10:30:00并保持当前日期(今天的日期)?

【问题讨论】:

    标签: c# winforms datetime


    【解决方案1】:

    为此,您可以使用 DateTime.TodayDateTime.AddHours

    dateTimePicker1.Value = DateTime.Today.AddHours(10.5);
    

    此属性设置为今天的日期,时间部分是午夜。添加10.5 小时将返回当前日期作为日期,10:30 作为时间。

    【讨论】:

    • @Soner Gönül。您的代码是正确的,但对不起,我的意思是 10:30:00 不是 10:00:00 ,我更新了问题。你能更新你的答案吗?谢谢
    • @naouf 然后你需要添加10.5 而不是10 :)
    【解决方案2】:
    dateTimePicker1.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 10, 30, 0);
    

    如果仅用于显示目的,请使用 DateTimePicker 的属性 Format = 'Custom'CustomFormat = 'yyyy-MM-dd HH:00:00' 。这将显示当前日期和当前小时(控件的值保持当前日期时间)。

    【讨论】:

    • 这个问题与格式化无关。这是关于选择正确的DateTime
    • 我还是不太明白这个问题。为了选择 DateTime,我编写了第二个示例 @Soner。
    • "我想要的是:如何自定义时间到 10:30:00 并保持当前日期(今天的日期)?"
    • dateTimePicker1.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 10, 30, 0);在我的第二个示例中,我已将 DateTime.Now.Hour 替换为 10,并将 Minutes 中的 0 替换为 30。抱歉,如果它仍然不是您需要的。保留日期,时间是您手动设置的。
    • @Soner Gönül 我更改了第二个语句,因此您可以删除反对票
    猜你喜欢
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多