2016-06-13 2 views
1

Я абсолютный noob в Java и Mysql. У вас есть задание сделать, где пользователь должен войти и зарегистрироваться. Весь код был выполнен. Но есть одна небольшая часть, где логин пользователя должен истечь через 6 месяцев. Я пытаюсь выполнить это, используя SELECT DATEDIFF(month,'2014-06-05','2014-08-05') AS DiffDate. Я могу отслеживать дату регистрации пользователя, но со второй датой я немного тупик. Как я могу отслеживать текущее время входа пользователя в систему. Какие-либо предложения. Спасибо.mysql сравнить 2 даты

+0

Так что вы хотите текущую дату в качестве второго дня? Как 'NOW()' или 'CURDATE()'? – Blank

+0

Вы, конечно, можете, но зачем вообще сравнивать с SQL? Когда вы загружаете данные пользователя/сеанса из db для проверки состояния сеанса, вы также можете сравнить текущее время со временем от db в java. Вы также должны будете хранить данные сеанса в своем db (или в кеш-слое или даже в локальной памяти) для работы. Как и пользователи UPDATE SET last_login = NOW() WHERE userid =? ' – zapl

+0

да, это то, чего я пытаюсь достичь. Но мой вывод говорит: «Неверный счетчик параметров в вызове на нативную функцию« DATEDIFF », если я использую SELECT DATEDIFF (месяц,« dayLastLogin »,« СЕЙЧАС »),« AS DiffDate FROM user ». Запрос с помощью JAVA в NETBEANS – PLab

ответ

1

Вы можете использовать MySQL NOW():

SELECT DATEDIFF(month,'2014-06-05',NOW()) AS DiffDate 
+0

Мой вывод говорит: «Неверное количество параметров в вызове функции native« DATEDIFF », если я использую« SELECT DATEDIFF »(месяц,« dayLastLogin »,« СЕЙЧАС »),« AS DiffDate FROM user ». Запрос с помощью JAVA в NETBEANS – PLab