一、问题重现:
二、问题分析:
1)datetime 字段默认长度为0,MySQL在插入时间的时候,会对毫秒数值进行四舍五入(即大于500毫秒的+1秒)。
2)如果datetime设置字段长度为3,即可显示毫秒数,不再进行四舍五入和+1秒。
三、解决方案:
1)datetime设置长度为3
2)服务端new Date()的时候,把毫秒数值设置为0。
public void setReceiveTime(Date receiveTime) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(receiveTime);
calendar.set(Calendar.MILLISECOND, 0);
this.receiveTime = calendar.getTime();
}