比较时间值

时间:2014-06-02 09:12:22

标签: delphi delphi-2009

我想要一个比较时间的方法,例如,如果Atime早于Btime发生的事情,我会使用比较时间函数,但我对这个函数的问题是" Bold Brackets" (见下文)

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

1 个答案:

答案 0 :(得分:6)

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

  

表示两个TDateTime的时间部分之间的关​​系   值。

     

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

     
      
  • LessThanValue如果A发生在当天早些时候比B发生(即使A发生在比B更晚的日子)。
  •   
  • 如果A与B在同一时间发生,则忽略EqualsValue,忽略两个值的日期部分。
  •   
  • 如果A发生在当天晚些时间比B发生的话,则为GreaterThanValue(即使A发生在早于B的日期)。
  •   

您想要比较整个日期时间值。为此,您应该使用CompareDateTime。函数状态documentation中的一个重要注释:

  

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