以下代码按预期工作(即它打印“第二个真”而不是“第一个真”):
DateTime nine29 = new DateTime(2015, 01, 01, 09, 29, 00);
DateTime nine30 = new DateTime(2015, 01, 01, 09, 30, 00);
DateTime runtime = nine30;
if (runtime.ToUniversalTime() >= nine29.ToUniversalTime() && runtime.ToUniversalTime() < nine29.AddMinutes(1).ToUniversalTime())
Console.WriteLine("First true");
if (runtime.ToUniversalTime() >= nine30.ToUniversalTime() && runtime.ToUniversalTime() < nine30.AddMinutes(1).ToUniversalTime())
Console.WriteLine("Second true");
因此,当您说“如果我的运行时间为 9:30,它从 9:29 到 9:30 而不是 9:30 - 9:31 的计算结果为真”时,我们必须假设您是错误的。
将所有时间放入变量中并将它们打印到调试窗口或控制台,或在调试器下运行并检查它们。并注意秒!