zoukankan      html  css  js  c++  java
  • MySQL的时间进位问题

    mysql更新到5.6.4 之后 , 新增了一个叫factional seconds的特性 , 可以记录时间的毫秒值.

    但是目前的数据库是不记录毫秒值的 , 所以会产生一个java中时间的Milliseconds超过500就会四舍五入的问题.

    例如一个时间是2015-08-31 23:59:59.520 , 毫秒值超过500 , 入库的时候 , 时间就会变成2015-09-01 00:00:00 . 下面的两条sql就可以看出效果.

     

    insert into money_record values(null,1711929, 'jerry1bean', NULL, NULL, 20.00, 2.00, 1250, '2015-08-31 23:59:59.500000', NULL, NULL, NULL, 'just a test', NULL);
    
    insert into money_record values(null,1711929, 'jerry1bean', NULL, NULL, 20.00, 2.00, 1250, '2015-08-31 23:59:59.499999', NULL, NULL, NULL, 'just a test', NULL);
    

       

    表中就会出现明明是2015-08-31 : 23:59:59这样的tradeTime , 存入2015_08的表后tradeTime却变成9月1号的情况.

    P.S 貌似java中的Date是无法显示毫秒的,但是对象里是保存毫秒时间的 , 得用calendar才能打印出来

  • 相关阅读:
    Code-Helper:RegexHelper.cs
    Code-Convert:Image to base64
    un-System.Reflection.IReflect.cs
    System.Reflection.AssemblyName.cs
    System.Reflection.ConstructorInfo.cs
    System.Attribute.cs
    ERROR<53761>
    /dev/null 文件
    linux telnet服务安装与配置
    linux定时任务2-at命令
  • 原文地址:https://www.cnblogs.com/taojintianxia/p/4736910.html
Copyright © 2011-2022 走看看