MySQL保存23:59:59自动加一秒

MySQL数据库对于毫秒大于500的数据进行进位。

使用如下Calendar类获得当天23:59:59

public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        System.out.println(calendar.getTime().getTime());
 }

MySQL保存23:59:59自动加一秒

如果calendar对象不设置毫秒数值,生成的时间对象毫秒数值是随机的,保存到数据库时,MySQL会对毫秒大于500的数据进行进位,所以出现了+1秒的情况

解决方法:

MySQL保存23:59:59自动加一秒