检查自记录中发生更改以来是否已过去一天
c#
我有点困惑。我试图检查锁定日期(我使用该字段以了解是否需要锁定记录以进行编辑)之间的空间,从今天开始。如果自 DateTime.now 起空间超过一天,那么我需要将 ViewBag 设置为 true
这是我到目前为止所尝试的。
var lockRequest = from t in _context.Request
where t.Condition == 2
select t;
foreach (var t in lockRequest)
{
if (DateTime.Now.Day - Convert.ToDateTime(t.RequestLockDate).Day > 1 )
{
ViewBag.isLocked = true;
}
else
{
ViewBag.isLocked = false;
}
}
但它不起作用它总是返回true。任何的想法?谢谢你
回答
该Day
物业的DateTime
:
获取此实例表示的月份中的哪一天。
IE
天分量,表示为 1 到 31 之间的值。
因此,当计数器重置时,您的代码可能会失败的一个地方是从一个月到下一个月。
你可以DateTime
从另一个中减去一个来给你一个结果TimeSpan
,然后看看它是多长时间:
if ((DateTime.Now - Convert.ToDateTime(t.RequestLockDate)).TotalHours > 24) {
ViewBag.isLocked = true;
} else {
ViewBag.isLocked = false;
}
要不就
ViewBag.isLocked = (DateTime.Now - Convert.ToDateTime(t.RequestLockDate)).TotalHours > 24;