在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());
这样就没问题了。