動作環境
C++ Builder XE4
SecondsBetween()を使うインターバル動作を実装中に、本来意図しない時間にもインターバルタイミングとして識別されてしまっていた。
SecondsBetween を呼び出すと、2 つの TDateTime 値の差分を秒数で取得できます。SecondsBetween は、完全な秒だけをカウントします。このため、SecondsBetween は、9:00:00 A.M. と 9:00:00:999 A.M. の間の差を 0 としてレポートします。
9.9秒経過した時点でもSecondsBetween()では「9秒経過」したことになる。
秒未満の切捨てを考慮した実装でないと失敗する。