使用DateTimePicker组件比较Delphi 7中的日期

时间:2013-03-21 18:21:07

标签: delphi delphi-7

我正在尝试为两个DateTimePicker组件动态分配日期,然后将两者进行比较。

我想在这里做两个条件。在第一个中,我想测试给予组件的日期是否与当前日期相同。我是这样做的:

if DateClosed.date = DateCurrent.date then 
 begin 
  //some code goes here
 end;

在第二个实例中,我正在尝试测试提供给dateClosed的日期是否落在两个其他日期之间或之间,这两个日期也提供给两个DateTimePicker

我使用的是Borland Delphi 7 Professional。

请尽量保持答案尽可能简单,因为我对Delphi很新。

1 个答案:

答案 0 :(得分:4)

TDateTimePicker.Date包括时间组件(小数点右侧的小数部分),即使您已指定只需要日期。这会导致比较失败,因为即使日期部分(小数点左边的部分)可能完全匹配,小数部分也不会。\ / p>

如果您只想比较日期部分(忽略任何时差),只需使用Trunc(在System单位中删除小数部分,这样就可以自动使用而不会在您的使用条款中添加任何内容):

if Trunc(DateClosed.Date) = Trunc(DateCurrent.Date) then
  // The dates are the same

有关详细信息,请参阅Delphi帮助文件 - XE3文档为here,但自Delphi 7以来没有更改。