时间间隔.比较比较

本文关键字:比较 时间 | 更新日期: 2023-09-27 18:14:06

我假设这个逻辑(在评论中解释)是不正确的吗?

// While the current time is before the finish time, sleep the current thread.  
// The timer will continue to run the getting of the rates
while (TimeSpan.Compare(DateTime.Now.TimeOfDay,this._finishTime.TimeOfDay) == -1)

在我看了MSDN文档的时间跨度之后。比较一下,我应该寻找正确的参数是1还是0来实现这个功能,但是这个代码已经在那里很多年了。

时间间隔.比较比较

这在功能上相当于:

while(now < finishTime);

看起来它会正常工作。当它达到0时,当前时间等于finishTime,当它达到1时,当前时间大于finishTime。无论哪种情况,循环都将结束。

更好的方法是:

while(DateTime.Now < this._finishTime)

这并不关心TimeOfDay,它每天都会产生一个问题(正如@AakashM在评论中指出的)。

它实际上是在等待现在时间是<完成时间。>

是的,当为0或1时,它将退出循环,但是为-1时,它将循环