[英]Compare MySql date with system date using java
我嘗試使用Java將存儲在mysql表列中的日期與當前日期進行比較。
我想檢查日期是否比存儲在數據庫表中的日期超過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);
}
}
請告訴我代碼...
Mysql具有相當不錯的日期功能,您可以運行
select t_create_date < now() - interval 3 day as more_than_3_days_ago
from student_account
where stud_id=100
然后只需獲取布爾值more_than_3_days_ago即可,這就是您的答案。
據我所知,安德里亞斯的答案將為您服務。 如果要在Java中執行此操作,則必須將數據提取為Date對象rs.getDate("DATE_COLUMN")
並進行比較。
您可能會發現Joda Time對於進行比較非常有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.