如何将当前日期与数据库中的日期进行比较

时间:2019-01-07 16:38:23

标签: sql asp.net sql-server datetime

我想在日期匹配时取消锁定。我在数据库上有DateTime.Now.AddMinutes(5))的LockoutEndDateUtc字段-值。因此,请告诉我编写此条件的正确语法。

if (DateTime.Now == user.LockoutEndDateUtc) { } ? 

1 个答案:

答案 0 :(得分:1)

几件事:

  • DateTime.Now返回 local 时间。您应该改用DateTime.UtcNow

  • 几乎不可能完全匹配当前时间,因为通常会跟踪这些值的最多7个小数位。相反,您应该使用><>=<=

我假设您的问题中未提及某些内容,但是如果您打算将用户锁定5分钟,则可能是要使用以下命令设置数据库值:

user.LockoutEndDateUtc = DateTime.UtcNow.AddMinutes(5);

,也许您应该将其与:

if (DateTime.UtcNow >= user.LockoutEndDateUtc)