如何从另一个DateTime中减去一个DateTime?

Mat*_*001 -4 c# asp.net datetime

我有一个DateTime实例,我从我的数据库中获取,我想从中减去它,DateTime.Now并找出是否通过了4个小时.我怎么做?

我应该什么时候使用DateTime.UTCNowDateTimeOffset

Jon*_*eet 6

您可以使用减法运算符来获取TimeSpan:

private static readonly TimeSpan MinimumTime = TimeSpan.FromHours(4);

...

if ((dateFromDatabase - DateTime.Now) > MinimumTime)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

至于你是否需要UTCNowNow......它将取决于从数据库中获取数据时时区发生的变化.DateTime在这方面并不十分清楚:(

如果您可以将值作为a DateTimeOffset开头,那么您可以使用DateTimeOffset.Now,而且应该更容易解决任何时区问题.