zoukankan      html  css  js  c++  java
  • mysql插入的时间莫名的加一秒

    1、问题描述

       我获取当天最大的时间:结果是当天的23:59:59秒

    1 public static Date getDateWithMaxTime(Date date) {
    2         Calendar calendar = Calendar.getInstance();
    3         calendar.setTime(date);
    4         calendar.set(Calendar.HOUR_OF_DAY, 23);
    5         calendar.set(Calendar.MINUTE, 59);
    6         calendar.set(Calendar.SECOND, 59);
    7         return calendar.getTime();
    8     }

    但是插入数据库的时间多了1秒钟,变成第二天的00:00:00

    2、解决办法

    我把最后一位毫秒变为0 了,mysql(有些版本的)会对插入的时间的毫秒值大于500的进位操作,所以在此地设置毫秒值为0.

    1 public static Date getDateWithMaxTime(Date date) {
    2         Calendar calendar = Calendar.getInstance();
    3         calendar.setTime(date);
    4         calendar.set(Calendar.HOUR_OF_DAY, 23);
    5         calendar.set(Calendar.MINUTE, 59);
    6         calendar.set(Calendar.SECOND, 59);
    7         calendar.set(Calendar.MILLISECOND,0);   //增加毫秒设置为0
    8         return calendar.getTime();
    9     }
  • 相关阅读:
    JAVA-JDBC
    如何优雅地拼SQL的in子句
    Groovy 语言尝鲜
    小而美的CNC机器
    GCode软件和资料
    基于PC的运动控制
    CAD/CAM软件
    工控硬件
    数控系统
    Visual Studio 2019 Community 版离线注册
  • 原文地址:https://www.cnblogs.com/wang-yaz/p/11588927.html
Copyright © 2011-2022 走看看