mysql 前一天23:59:59 999入库后是次日00:00:00

本文揭示了在使用Hutool DateUtil获取当天结束时间并入库时,遇到的次日0点问题,原因在于MySQL 5.6.4后的fractionalseconds特性。通过深入分析,发现Hutool方法默认保留了999毫秒,解决办法是重写方法设置为0毫秒。
摘要由CSDN通过智能技术生成

最近项目遇到一个问题,使用hutool中的DateUtil类获取当天结束时间,入库之后变成了次日的凌晨00:00:00。。这让人很费解,按理说程序应该十分严谨才对。后台打印日期的时间戳也是1666195199999。

找了许久终于发现了原因,程序是没有问题的,问题是MySQL插入时间问题:mysql更新到5.6.4 之后 , 新增了factional seconds的特性 , 可以记录时间的毫秒值,超过500就会四舍五入的问题。

然后看一下hutool里的方法

明显是将毫秒设置成了999.

找到原因问题就好解决了,重写一下方法将毫秒设置成0就可以啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值