hutool的bug之 DateUtil.endOfDay(DateUtil.date())

hutool 工具类DateUtil

使用时谨慎

DateUtil.endOfDay 得到的时间保存到数据时会增加一秒

首先比较下时间的long值:

这样就很明显的看出来,hutool工具类的date是毫秒位多了**.999**,保存到mysql 的时候,MySQL数据库对于毫秒大于500的数据进行进位,这样就导致了得到的时间到mysql时会增加一秒。

网络上的解决方案:
https://www.cnblogs.com/fswhq/p/mysql_1.html

代码如下:

复制代码
public static Date getEndOfDay(Date date) {
        Calendar calendarEnd = Calendar.getInstance();
        calendarEnd.setTime(date);
        calendarEnd.set(Calendar.HOUR_OF_DAY, 23);
        calendarEnd.set(Calendar.MINUTE, 59);
        calendarEnd.set(Calendar.SECOND, 59);
        calendarEnd.set(Calendar.MILLISECOND, 0); // 这一句比较关键
        return calendarEnd.getTime();
    }
相关推荐
QuestLab16 小时前
维护 Hermes Agent CN 过程中的碎碎念,以及从bug上得到的一点点启发
bug
java修仙传19 小时前
Java 实习日记:一次 Excel 导入校验 Bug 的定位与数据更新逻辑优化
java·数据库·bug·excel·后端开发
当战神遇到编程19 小时前
软件测试基础入门:从 BUG 到测试用例设计完整指南
测试用例·bug
Bear on Toilet3 天前
3. BUG篇
bug
编程探索者小陈4 天前
【测试】之BUG篇
bug
棋宣4 天前
uni-app编译到微信小程序中,父传子props首次传递数据不接收的bug
微信小程序·uni-app·bug
wqdian_com4 天前
华为手机浏览器的一个bug
服务器·华为·bug
清水白石0085 天前
把事故变成护城河:如何设计回归测试,防止“订单重复创建”这类历史 Bug 卷土重来?
python·bug
njsgcs5 天前
c# solidworks createline 拉伸发现有微小两点间隙 导致拉伸变成薄壁特征 改bug画了6个小时 解决结果
c#·bug·solidworks
前端达人5 天前
第18课:实战案例二,线上紧急 Bug 修复全过程
bug