簡體   English   中英

使用Java將MySql日期與系統日期進行比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM