在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());
這樣就沒問題了。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYmdjY3QjYjRjZiJ2M5IGOlJjY0QGZ1QWN3kjY0M2Nl9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)