• delphi 7.0 DateTimePicker控件相同日期比较的问题


    delphi 7.0  DateTimePicker控件相同日期比较的问题
    2011-03-19         作者:李海彬   阅读:547

            DateTimePicker控件作为日期时间控件,在DELPHI中使用得很广泛的,它根据KIND属性可设置为日期控件(dtkDate)或时间控件(dtkTime),我一直认为,将它设置为日期控件时,与时间是无关的,可是在实际应用中,发现并不是这样。
        比如下面的这一个程序,两个 DateTimePicker分别用于设置查询数据的起始日期和终于日期,要执行查询时,要求起始日期不能大于终止日期,否则弹出错误提示,可是在两个 DateTimePicker设置的日期相同时,按下[查询]按钮后,却发现也提示错误了。

                           
       代码如下:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      //如果起始日期>终于日期,提示错误:
      if datetimepicker1.date>datetimepicker2.Date then
             Messagebox(handle,'查询起始日期不能大于终于日期','错误',MB_OK);
    end;

    从上面的代码我们可以看到,用于比较的是datetimepicker.DATE,即一个日期型的数值,而大家也可以看到,日期是相同的,可是在程序执行时,得到的结果是datetimepicker1.date大于datetimepicker2.Date。
        经检查,发现datetimepicker1.Time=20:10:23,datetimepicker2.Time=17:20:21,即两个的Time值是不同的,而且datetimepicker1.Time大于datetimepicker2.Time,是这个原因吗?试着将这两个时间都设成00:00:00,再运行同样的代码,发现不再提示错误。
        结论:datetimepicker.date在进行日期比较时,并不是仅仅比较日期,而对时间也进行比较,这是一个很令人难以理解的结果,但事实如此。

  • 相关阅读:
    解决ajax无法给js全局变量赋值的问题
    jquery对象和dom对象
    js浏览器调试
    elastic search使用
    elastic search远程测试
    elastic search安装与本地测试
    jQuery常用技巧
    Jquery操作cookie
    HTML特殊字符编码对照表
    DpQuery.js
  • 原文地址:https://www.cnblogs.com/hssbsw/p/2533074.html
Copyright © 2020-2023  润新知