这是由于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();