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