zoukankan      html  css  js  c++  java
  • 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在进行日期比较时,并不是仅仅比较日期,而对时间也进行比较,这是一个很令人难以理解的结果,但事实如此。

  • 相关阅读:
    知识点:定义input type=file 样式的方法(转)
    笔记:认识 head 标签 待 更新中……
    检讨:关于上班迟到那么‘ 一两分钟 ’的事儿
    js--局部变量
    数十万互联网从业者的共同关注!
    js--javascript中字符串常用操作总结、JS字符串操作大全
    JavaScript中浏览器兼容问题
    js--性能优化(转)
    js-知识点
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法--(转)
  • 原文地址:https://www.cnblogs.com/hssbsw/p/2533074.html
Copyright © 2011-2022 走看看