2

我想在某个时间和当前时间之间进行比较,以检查它是否超过了给定的时间段。

我想我应该使用 TimeSpan 但我不确定如何。我比较的两个日期是 DateTime 对象。

 TimeSpan ts = TimeSpan.FromSeconds(_timeInterval);

 if(DateTime.UtcNow.Ticks - rex.LastFired.Ticks > ts.Ticks)
    // bla bla
4

3 回答 3

4

只需将日期之间的差异与时间跨度进行比较即可。

var start = new DateTime(2013, 02, 15);
var now = DateTime.Now;

var oneWeek = new TimeSpan(7, 0, 0, 0);

if (now - start > oneWeek) {
    Console.Write("One week is passed since start date.");
} else {
    Console.Write("One week not yet passed since start date.");
}
于 2013-02-22T11:01:22.500 回答
2
if(DateTime.UtcNow - rex.LastFired > ts)
     ...
于 2013-02-22T10:54:39.377 回答
1

为什么不使用 DateTime.Compare ?

http://msdn.microsoft.com/en-us/library/system.datetime.compare.aspx

编辑:您首先必须使用 TimeSpan.Substract 或 DateTime.Substract,然后您可以使用适当的 .Compare 方法。

于 2013-02-22T10:56:47.823 回答