检查自记录中发生更改以来是否已过去一天

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;


以上是检查自记录中发生更改以来是否已过去一天的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>