c#在日期时间之前或之前

本文关键字:时间 日期 | 更新日期: 2023-09-27 18:10:30

我想写if if语句,如果CreatedDate是在接下来的1小时或之前执行。有办法做到这一点吗?

类似:

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

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

谢谢!

c#在日期时间之前或之前

我认为你的方法基本上是好的。毕竟,看看你的描述:

"如果CreatedDate是在下一个小时或之前"

这并不是说从另一个时间减去一个时间,它是在比较CreatedDate和"下一个小时",即从现在起一个小时。

:

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

在我看来很干净——除了你需要知道CreatedOn到底是什么。是当地的吗?未指明的吗?已经普遍吗?不幸的是,DateTime在这方面有问题…如果你用的是野田时间,那就毫无疑问了;)

有几种方法可以做到这一点。例如,DateTime.Now - CreatedOn返回一个TimeSpan值,表示这两者之间的时间。您可以将其与1小时或更短的时间进行比较