比较时间值

Fer*_*ero 0 delphi delphi-2009

我想要一个比较时间的方法,例如,如果Atime比Btime更早出现,我会使用CompareTime函数,但我对这个函数的问题是"Bold Brackets"中所说的(见下文)

调用CompareTime来比较A和B指定的两个TDateTime值.CompareTime返回:LessThanValue如果A发生在当天早于B(即使A发生在比B 更晚的一天).如果A在当天晚些时候发生在B之外,则为GreaterThanValue (即使A发生在比B更早的日子).

Dav*_*nan 6

TDateTime值可以被认为包含两个不同的部分:日期部分和时间的一部分.该CompareTime函数仅比较时间部分并忽略日期部分.该文件说:

指示两个TDateTime值的时间部分之间的关​​系.

调用CompareTime来比较A和B指定的两个TDateTime值.CompareTime返回:

  • LessThanValue如果A发生在当天早于B(即使A发生在B之后的某天).
  • EqualsValue如果A出现在与B相同的时间,忽略两个值的日期部分.
  • 如果A在当天晚些时候发生在B之外,则为GreaterThanValue(即使A发生在比B更早的日子).

您想要比较整个日期时间值.要做到这一点你应该使用CompareDateTime.函数文档中的一个重要注意事项是:

注意:CompareDateTime与对应的双精度值的直接比较不同,因为如果两个TDateTime值具有相同的值,则它们被认为是相同的毫秒.当被视为双精度时,可以创建两个数值上不同的TDateTime值,但它们代表相同的年,月,日,小时,分钟,秒和毫秒.