java Date转换成sql Date出现时间错误的问题 5C
        SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
        java.util.Date d = null;
        d = format.parse(newsDate);
 java.sql.Date date = new java.sql.Date(d.getTime());

 代码是这样的。

 java Date数据格式是 2015-10-08 09:21:33
 但是转成sql Date后变成了2014-01-08

 这是何故

5个回答

"yyyy-mm-dd"改成"yyyy-MM-dd"
mm是分钟,MM才是年

snailplus
snailplus MM才是年→MM才是月
大约 5 年之前 回复

可以试试用Datetime , Date只表示日期但不表示时间而Datetime即表示日期又表示时间

yyyy-mm-dd"改成"yyyy-MM-dd HH:mm:ss"

java.sql.Date a=new java.sql.Date(1444358746000L);
java.sql.Date b=new java.sql.Date(1444358747000L);
java.util.Date c=new java.util.Date(1444358746000L);
java.util.Date d=new java.util.Date(1444358747000L);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
这样不难看出java.util.Date 是精确到秒,而 java.sql.Date只能到日。

补充一下,可以将java.util.Date时间转换为1444358747000L(时间戳),在数据库的sql语句中将时间戳转换成包含秒的时间。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐