Сравните дату MySql с системной датой с помощью java

60
10

Я пытаюсь сравнить дату, хранящуюся в столбце таблицы mysql с текущей датой, используя java.

Я хочу проверить, является ли дата более 3 дней с даты, которая хранится в таблице базы данных, она показывает ошибку...

Это мой код:

public static void main(String[] args) {
Connection con=null;
ResultSet rs=null;
String url="jdbc:mysql://localhost:3306/EDUCATION_MANAGEMENT";
try
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date crrDate=new Date();
crrDate=sdf.parse(sdf.format(crrDate));
Date dbDate=new Date();
System.out.println("Current Date ::: "+crrDate);
String userid="root";
String password="admin";
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,userid,password);
Statement stmt=con.createStatement();
String getDate="select t_create_date from student_account where stud_id=100";
rs=stmt.executeQuery(getDate);
if(rs.next())
{
dbDate=sdf.parse(rs.getString("t_create_date"));
System.out.println("Database Date ::: "+dbDate);
}
if(crrDate.compareTo(dbDate)>3)
{
System.out.println("Date is less than 3");
}
else
{
System.out.println("Date is Greater than 3");
}
}
catch(SQLException sqle)
{
System.out.println("Error occured ::: "+sqle);
}
catch(Exception e)
{
System.out.println("Error occured ::: "+e);
}

}

Пожалуйста, скажите мне код....

спросил(а) 2014-11-07T06:29:00+03:00 5 лет, 11 месяцев назад
1
Решение
109

Насколько я вижу, ответ Андреаса будет служить вашей цели. Если вы хотите сделать это в java, вам нужно будет извлечь данные как Date Object rs.getDate("DATE_COLUMN") и выполнить сравнение.

Вероятно, вы найдете Joda Time очень полезным для сравнений.

ответил(а) 2014-11-07T08:51:00+03:00 5 лет, 11 месяцев назад
41

У Mysql есть довольно хорошие функции даты, вы можете просто запустить

select t_create_date < now() - interval 3 day as more_than_3_days_ago
from student_account
where stud_id=100

то просто получите значение boolean more_than_3_days_ago, и это ваш ответ.

ответил(а) 2014-11-07T08:16:00+03:00 5 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема