sql - 如何将当前日期与数据库中的日期进行比较
问题描述
我想在日期匹配时取消锁定。我在数据库中有 LockoutEndDateUtc 字段和 DateTime.Now.AddMinutes(5)) - 值。所以请告诉我写这个条件的正确语法。
if (DateTime.Now == user.LockoutEndDateUtc) { } ?
解决方案
一些东西:
DateTime.Now
返回当地时间。你应该DateTime.UtcNow
改用。几乎不可能完全匹配当前时间,因为通常这些值最多保留 7 个小数位。相反,您应该使用
>
、或。<
>=
<=
我假设您的问题中没有说明一些事情,但是如果您打算将用户锁定 5 分钟,那么您可能打算使用以下命令设置数据库值:
user.LockoutEndDateUtc = DateTime.UtcNow.AddMinutes(5);
也许您应该将其与以下内容进行比较:
if (DateTime.UtcNow >= user.LockoutEndDateUtc)