【问题标题】:dateTimePicker incorrect datedateTimePicker 日期不正确
【发布时间】:2013-11-30 16:31:53
【问题描述】:

我正在使用 dateTimePickers,因此用户可以为我的程序中的某些内容指定一个开始日期和结束日期。显然“From”值应该在“To”值之前或等于“To”值,所以我添加了这个:

    public CustomReportDialog()
    {
        InitializeComponent();
        dateTimePicker1.MaxDate = DateTime.Now; //From Field   
        dateTimePicker2.MaxDate = DateTime.Now; //To Field
    }



    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(dateTimePicker1.Value.ToString());
        MessageBox.Show(dateTimePicker2.Value.ToString());
        if (dateTimePicker2.Value < dateTimePicker1.Value)
        {
            MessageBox.Show("Error!");
        }

如果我只是打开表单并单击按钮,它会显示错误消息,即使消息框证明两个日期时间完全相同。但是,如果我更改其中一个日期,然后将其改回以使它们相等,则不会显示任何错误...有人知道为什么吗?谢谢!

【问题讨论】:

    标签: c# datetime datetimepicker


    【解决方案1】:

    所以发生的事情是当程序启动时,datetimepickers 的值实际上相差几毫秒!尝试同时设置 value 和 maxdate 属性。

      DateTime currentTime = DateTime.Now;
      dateTimePicker1.Value = currentTime;
      dateTimePicker2.Value = currentTime;
      dateTimePicker1.MaxDate = currentTime; //From Field   
      dateTimePicker2.MaxDate = currentTime; //To Field
    

    【讨论】:

    • 原因是正确的,但我建议将DateTime.Now 值存储在变量中并使用它来分配控件的值。在这种情况下,日期将完全相同
    猜你喜欢
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多