最近项目遇到一个问题,使用hutool中的DateUtil类获取当天结束时间,入库之后变成了次日的凌晨00:00:00。。这让人很费解,按理说程序应该十分严谨才对。后台打印日期的时间戳也是1666195199999。
找了许久终于发现了原因,程序是没有问题的,问题是MySQL插入时间问题:mysql更新到5.6.4 之后 , 新增了factional seconds的特性 , 可以记录时间的毫秒值,超过500就会四舍五入的问题。
然后看一下hutool里的方法
明显是将毫秒设置成了999.
找到原因问题就好解决了,重写一下方法将毫秒设置成0就可以啦