mysql 保存23:59:59 自动加一秒
2024-10-21 07:44:29
mysql保存系统传递的时间会诡异的增加一秒钟
使用如下工具类:
public static Date getEndOfDay(Date date) {
Calendar calendarEnd = Calendar.getInstance();
calendarEnd.setTime(date);
calendarEnd.set(Calendar.HOUR_OF_DAY, 23);
calendarEnd.set(Calendar.MINUTE, 59);
calendarEnd.set(Calendar.SECOND, 59);
return calendarEnd.getTime();
}
传递给MySQL数据库时间2018-05-08 23:59:59,系统保存后变成了 2018-05-09 00:00:00,找了好久最后发现是因为MySQL数据库对于毫秒大于500的数据进行进位
通过代码改正这个问题,修正之后如下
public static Date getEndOfDay(Date date) {
Calendar calendarEnd = Calendar.getInstance();
calendarEnd.setTime(date);
calendarEnd.set(Calendar.HOUR_OF_DAY, 23);
calendarEnd.set(Calendar.MINUTE, 59);
calendarEnd.set(Calendar.SECOND, 59);
calendarEnd.set(Calendar.MILLISECOND, 0);
return calendarEnd.getTime();
}
最新文章
- bootstrap-按钮组、字体图标
- java之URL类
- 《Data-Intensive Text Processing with mapReduce》读书笔记之一:前言
- Html中src、href的相对路径与绝对路径
- 短信,微信API(还能发邮件,短信,IM聊天)
- C库函数笔记
- ASP.NET三层架构的分析
- Dynamic HTML权威指南(读书笔记)— 第一章 HTML与XHTML参考
- Redis 慢日志
- Sign http
- java8list排序
- Linux 常见操作
- SQL 查询 技巧
- redis(二)--用Redis作MySQL数据库缓存
- Oracle 12C ORA-65096: 公用用户名或角色名无效
- Domination(概率DP)
- springboot配置文件启动顺序
- 实用ExtJS教程100例-002:MessageBox的三种用法
- SQLServer 日期函数大全 SQLServer 时间函数大全
- C# 根据域名获取IP地址