美文网首页
mysql自动将23:59:59.999保存成00:00:00的

mysql自动将23:59:59.999保存成00:00:00的

作者: 石头人000 | 来源:发表于2020-10-14 14:08 被阅读0次

今天发现一奇怪问题: 数据表中时间字段为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

修改后代码(减去毫秒数999)

DateTime dateTime = cn.hutool.core.date.DateUtil.endOfDay(new Date()).offset(DateField.MILLISECOND,-999);  // 实际dateTime=  2020-10-29 23:59:59

相关文章

网友评论

      本文标题:mysql自动将23:59:59.999保存成00:00:00的

      本文链接:https://www.haomeiwen.com/subject/hlfwpktx.html