java Date 转mysql timestamp 秒数不一致
Posted -xuzhankun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Date 转mysql timestamp 秒数不一致相关的知识,希望对你有一定的参考价值。
mysql的字段类型是timestamp(0), java的类型的是util.Date, 在插入数据的时候发现, 数据库的实际数据秒数比预想的数据偶尔会大1秒.
问题的原因:
mysql的timestamp(0), 没有保留毫秒, 插入的时候, mysql会计算毫秒数, 所以会偶发数据库的秒数比参数大1秒.
解决方案:
1: timestamp(0) 改为 timestamp(3), 保留3位的毫秒数
2: 参数的毫秒值设置为0
3: 修改数据库的字段类型, 存储时间戳 或者 用字符串存储,
4: 降低mysql版本或者降低驱动版本(这种办法会把所有的毫秒数都忽略(000), 如果是时间精度要求高的业务就凉凉了, 不太推荐. mysql暂时还不能只设置成一个表一个字段忽略毫秒数)
以上是关于java Date 转mysql timestamp 秒数不一致的主要内容,如果未能解决你的问题,请参考以下文章
(转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)