-1

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

我有两个条件要在这里做。首先,我想测试给组件的日期是否与当前日期相同。我这样做:

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

在第二种情况下,我试图测试提供给的日期是否dateClosed落在也提供给两个的其他两个日期之间或之间DateTimePicker

我正在使用 Borland Delphi 7 Professional。

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

4

1 回答 1

4

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

如果您只想比较日期部分(忽略任何时差),只需删除小数部分 using Trunc(在System单位中,因此无需在您的 uses 子句中添加任何内容即可自动使用):

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

有关更多信息,请参阅 Delphi 帮助文件 - XE3 文档在此处,但自 Delphi 7 以来没有更改。

于 2013-03-22T01:26:12.610 回答