как сравнить текущую дату с датой в базе данных - PullRequest
0 голосов
/ 07 января 2019

Я хочу отменить блокировку, когда даты совпадают. У меня есть поле LockoutEndDateUtc в базе данных с DateTime.Now.AddMinutes (5)) - значение. Так скажите мне правильный синтаксис для написания этого условия, пожалуйста.

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

1 Ответ

0 голосов
/ 07 января 2019

Несколько вещей:

  • DateTime.Now возвращает местное время. Вы должны использовать DateTime.UtcNow вместо.

  • Почти невозможно точно соответствовать текущему времени, поскольку обычно эти значения отслеживаются с точностью до 7 десятичных знаков. Вместо этого вы должны использовать >, <, >= или <=.

Я предполагаю несколько вещей, не указанных в вашем вопросе, но если вы хотели заблокировать пользователя на 5 минут, то, вероятно, вы хотели установить значение базы данных с помощью:

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

и, вероятно, вы должны сравнить это с:

if (DateTime.UtcNow >= user.LockoutEndDateUtc)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...