使用DateTimePicker组件比较Delphi7中的日期

使用DateTimePicker组件比较Delphi7中的日期,delphi,delphi-7,Delphi,Delphi 7,我试图动态地为两个DateTimePicker组件分配一个日期,然后比较这两个组件 我有两个条件,我想在这里做。首先,我想测试给定给组件的日期是否与当前日期相同。我是这样做的: if DateClosed.date = DateCurrent.date then begin //some code goes here end; 在第二个例子中,我试图测试提供给dateClosed的日期是否在另外两个同样提供给两个DateTimePicker的日期上或之间 我使用的是Borland

我试图动态地为两个
DateTimePicker
组件分配一个日期,然后比较这两个组件

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

if DateClosed.date = DateCurrent.date then 
 begin 
  //some code goes here
 end;
在第二个例子中,我试图测试提供给
dateClosed
的日期是否在另外两个同样提供给两个
DateTimePicker
的日期上或之间

我使用的是Borland Delphi 7 Professional


请尽量保持答案尽可能简单,因为我对德尔福相当陌生

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

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


有关更多信息,请参阅Delphi帮助文件-XE3文档是,但它自Delphi 7以来一直没有更改。

问题是什么?为DateTimePicker赋值或比较DateTime值?我更喜欢
如果SameDate(DateClosed.Date,DateCurrent.Date),那么
函数实现与此处发布的代码相同的代码,但在我看来可读性更好。[+1]@TLama:是的,我想到了,但是手边没有Delphi 7的副本来检查它在那里是否可用
Trunc
至少在D1之前一直可用。
if Trunc(DateClosed.Date) = Trunc(DateCurrent.Date) then
  // The dates are the same