dateTimePicker日期不正确

时间:2013-11-30 16:31:54

标签: c# datetime datetimepicker

我正在使用dateTimePickers,因此用户可以为我的程序中的某些内容指定日期。显然,“From”值应该在“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!");
        }

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

1 个答案:

答案 0 :(得分:2)

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

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