JDBC - new Date插入mysql数据库,数据库时间多一秒问题

这是由于new Date()时,实际上是调用的System.currentTimeMillis()方法,即获得以毫秒为级别的时间戳。
一般数据库表的字段类型datetime/timestamp长度都是设置为0。
MySQL数据库对于毫秒大于500的数据进行进位,所以就造成的MySQL中的时间多一秒。

 

 

 

解决方案:
1、将数据库表字段类型datetime/timestamp长度设置不为0即可
2、在代码中将new Date()进行一次格式化“yyyy-MM-dd HH:mm:ss”,
抑或是

Calendar calendar = Calendar.getInstance();
// 将毫秒数设为0
calendar.set(Calendar.MILLISECOND,0);
Date nowDate = calendar.getTime();

原文链接:https://blog.csdn.net/qinaye/article/details/109812918

 

posted on 2021-12-06 20:25  TrustNature  阅读(480)  评论(0)    收藏  举报