数据表中时间字段为datetime类型,插入的时间数据为2020-10-29 23:59:59.999,但保存成功后再查看,数据变为2020-10-30 00:00:00。将数据类型换成timestamp,问题同样存在。
原因在于:MySQL数据库对于毫秒大于500的数据进行进位。
原代码
// 获取当前日期的最后一秒
DateTime dateTime = cn.hutool.core.date.DateUtil.endOfDay(new Date()); // 实际dateTime = 2020-10-29 23:59:59.999