Mysql 5.6.4以上对Date的毫秒数进行了自动四舍五入
导致的问题就是,支付时间存入数据库后,再查询出来的时间就丢掉了毫秒数,导致数据不一致,无法后续对账等操作。
建议使用如下代码获取到没有毫秒数的Date在进行入库,这样就能保证时间在入库后取出来是一致的。
/**
* 对Date毫秒数清零
* @return
*/
public static Date getRoundingDateTime() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
// 将时分秒,毫秒域清零
cal1.set(Calendar.MILLISECOND, 0);
return cal1.getTime();
}