我想要一个比较时间的方法,例如,如果Atime早于Btime发生的事情,我会使用比较时间函数,但我对这个函数的问题是" Bold Brackets" (见下文)
调用CompareTime来比较A和B指定的两个TDateTime值.CompareTime返回: LessThanValue如果A出现在当天早于B(即使A发生在比B 更晚的日子)。 如果A出现在当天晚些时候比B (即使A发生在早于B 的A),则为GreaterThan值。
答案 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值 数字上看作双打,但代表同一年, 月,日,小时,分钟,秒和毫秒。