首页 > 解决方案 > 如何将当前日期与数据库中的日期进行比较

问题描述

我想在日期匹配时取消锁定。我在数据库中有 LockoutEndDateUtc 字段和 DateTime.Now.AddMinutes(5)) - 值。所以请告诉我写这个条件的正确语法。

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

标签: sqlasp.netsql-serverdatetime

解决方案


一些东西:

  • DateTime.Now返回当地时间。你应该DateTime.UtcNow改用。

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

我假设您的问题中没有说明一些事情,但是如果您打算将用户锁定 5 分钟,那么您可能打算使用以下命令设置数据库值:

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

也许您应该将其与以下内容进行比较:

if (DateTime.UtcNow >= user.LockoutEndDateUtc)

推荐阅读