【发布时间】:2016-04-21 16:54:51
【问题描述】:
我试图比较运行时变量是否在现在和一分钟后。代码如下:
if (RunTime.ToUniversalTime() >= now.ToUniversalTime() &&
RunTime.ToUniversalTime() < now.AddMinutes(1).ToUniversalTime())
{
//Do Stuff
}
但是,这比我预期的要早一分钟评估为真。例如,如果我的运行时间为 9:30,它从 9:29 到 9:30 而不是 9:30 - 9:31 评估为真。我在这里想念什么?我理解代码的方式是,当运行时大于或等于现在并且小于现在加一分钟时,它会评估为真。
【问题讨论】:
-
我假设
now等于DateTime.Now在代码发布之前? -
是的,我现在只是设置为一个变量,因为这是在一个 foreach 循环中,我希望现在对每个迭代的项目都相同。
-
您在哪个时区工作(它们都相同)?
ToUniversalTime()调用是否为您提供了您期望的值? -
您现在使用的是两个不同的时间。它们可能很接近,但并不完全相同。始终将 now 设置为变量,因此现在两者都相同。
-
@jdweng
now是一个变量。