保存DATE数据到MySQL数据库为什么存入的时间会诡异的增加一秒

Ls_SS 2017-11-07 04:24:08
mysql数据库存date 如Tue Nov 07 16:18:11 CST 2017 存到数据库有时候(7 0%的概率)就会变成 2017-11-07 16:18:12。。求大牛指教
...全文
1505 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
looc 2020-08-21
  • 打赏
  • 举报
回复
你被这个坑了啊? 把毫秒设置成0再试试。 使用Calendar类,默认会读取当前时间,是有毫秒值的,如果只设置日、时分秒,而毫秒值又大于等于500,放到数据库就会变成+1秒
宿小帅 2017-11-15
  • 打赏
  • 举报
回复
楼主不知道解决没,你可以参考这篇博客 https://my.oschina.net/u/2353881/blog/1573811
walkuere 2017-11-15
  • 打赏
  • 举报
回复
我一般是把时间取好,然后作为值插入的
kampoo 2017-11-15
  • 打赏
  • 举报
回复
Mysql时间类型的精度问题,数据库的字段类型DateTime默认精确到秒,很容易出现你说的情况,这种情况下存储后不毫秒来查询的没问题。 如果需要毫秒精度,可以使用DateTime(3)类型解决你的问题。
zjcxc 2017-11-07
  • 打赏
  • 举报
回复
存储的时候,你是指定了时间的值,还是让字段自动取默认值? 如果是后者,那很正常,你的时间和 sql 中的时间有时间差 如果是存储的时候指定了时间,那么看看是不是时间精度转换导致了进位
Ls_SS 2017-11-07
  • 打赏
  • 举报
回复
引用 楼主 Ls_SS 的回复:
mysql数据库存date 如Tue Nov 07 16:18:11 CST 2017 存到数据库有时候(7 0%的概率)就会变成 2017-11-07 16:18:12。。求大牛指教
时间是我在java里 new date() 用这个时间做了数据加密处理后把它存到数据库。。这个时间有时候竟然会多一秒。然后加密就废了。。。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧