c#在日期时间之前或之前
本文关键字:时间 日期 | 更新日期: 2023-09-27 18:10:30
我想写if if语句,如果CreatedDate是在接下来的1小时或之前执行。有办法做到这一点吗?
类似:
if (CreatedOn.ToUniversalTime() <= DateTime.Now.AddHours(1).ToUniversalTime())
{
}
这是正确的还是有更好的方法?
谢谢!
我认为你的方法基本上是好的。毕竟,看看你的描述:
"如果CreatedDate是在下一个小时或之前"
这并不是说从另一个时间减去一个时间,它是在比较CreatedDate
和"下一个小时",即从现在起一个小时。
:
DateTime hourFromNowUtc = DateTime.UtcNow.AddHours(1);
if (CreatedOn.UniversalTime() <= hourFromNowUtc)
在我看来很干净——除了你需要知道CreatedOn
到底是什么。是当地的吗?未指明的吗?已经普遍吗?不幸的是,DateTime
在这方面有问题…如果你用的是野田时间,那就毫无疑问了;)
有几种方法可以做到这一点。例如,DateTime.Now - CreatedOn
返回一个TimeSpan
值,表示这两者之间的时间。您可以将其与1小时或更短的时间进行比较