天天看點

java.util.Date轉化為java.sql.Date出現時間錯誤

在mysql中用到了date類型,對應的java類型就是java.sql.Date,但是java.sql.Date的生成需要對java.util.Date類型進行轉換,在轉換的過程中發現出現了錯誤,兩邊不一緻

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-mm-dd");
        Date stDate=sdf.parse(sDate);                 //入住日期
        java.sql.Date startDate=new java.sql.Date(stDate.getTime());
        Date enDate=sdf.parse(eDate);                  //離開日期
        java.sql.Date endDate=new java.sql.Date(enDate.getTime());
       System.out.println(sDate);      

控制台輸出結果:

這個錯誤其實不是什麼大錯誤,日期格式中“mm”表示的是秒,表示月份要用“MM”:

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("string:"+sDate);
        Date stDate=sdf.parse(sDate);                 //入住日期
        System.out.println("util.Date:"+stDate);
        java.sql.Date startDate=new java.sql.Date(stDate.getTime());
        System.out.println("sql.Date:"+startDate);
        Date enDate=sdf.parse(eDate);                  //離開日期
        java.sql.Date endDate=new java.sql.Date(enDate.getTime());      

這樣就沒問題了。

java.util.Date轉化為java.sql.Date出現時間錯誤