C#DateTime或之前

我想写If If语句,如果CreatedDate在下一个小时或之前开始执行.有没有办法做到这一点?

就像是:

if (CreatedOn.ToUniversalTime() <= DateTime.Now.AddHours(1).ToUniversalTime())
{
}

这是正确的还是有更好的方法?

谢谢!

最佳答案
我认为您的方法大都可以.毕竟,请看一下您的描述:

“if the CreatedDate is on or before the next 1 hour”

那不是在谈论从另一个中减去一次,而是在将CreatedDate与“下一小时”(即从现在开始的一个小时)进行比较.

所以:

DateTime hourFromNowUtc = DateTime.UtcNow.AddHours(1);
if (CreatedOn.UniversalTime() <= hourFromNowUtc)

在我看来,这很干净-除非您需要了解CreatedOn的真正含义.是本地的吗?未指定?已经普及了?不幸的是DateTime is problematic in this respect …如果您使用的是Noda Time,就没有疑问了;)

转载注明原文:C#DateTime或之前 - 代码日志