java.util.Date和java.sql.Date转换异常:
在将日期写入数据库之前的类型转换过程中,我的代码如下:
public class Test{
public static void main(String[] args){
try{
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "yyyymmdd ");
java.util.Date date = sdf.parse( "20070608 ");
System.out.println(new java.sql.Date(date.getTime()));
}catch(Exception e){
e.printStackTrace();
}
}
}
这里为什么在数据库中显示的时间是:2007-01-08,而不是2007-06-08,为什么?
这种转换,不管日期换成多少,最后转换的都是01月,而不是想要的月份?
是什么原因造成的?
------解决方法--------------------------------------------------------
new java.text.SimpleDateFormat( "yyyyMMdd ");
大写的MM,而不是小写的mm
m 小时中的分钟数
M 年中的月份