news 2026/6/30 4:49:18

数据库跨年问题处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库跨年问题处理

问题:

合同结束时间,应为当年的最后一天,为什么显示的是2027年

原因:老代码用的类型是Date,数据库用的类型是dateTime

java.util.Date 内部就是一个 long类型的变量,存的是 自1970-01-01 00:00:00 GMT 以来的毫秒数(可以见下图是以毫秒值的形式进行存储)

库里接收到毫秒值,四舍五入,大于500的会自动进位到2027年1月1日(如2026年23点59分59秒501或者999毫秒)

Date startTime = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(startTime); calendar.set(Calendar.MONTH, Calendar.DECEMBER); calendar.set(Calendar.DAY_OF_MONTH, 31); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); Date endTime = calendar.getTime();

解决方案:

显示指定精度后三位(支持毫秒),解决跨年问题

ALTER TABLE t_contract
MODIFY COLUMN end_time DATETIME(3) DEFAULT NULL COMMENT '合同终止日期';

原为:

解决后:

证明四舍五入:

类型是datetime的前提下

TABLE t_contract MODIFY COLUMN end_time DATETIME;,

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 4:49:18

这个级别的配置两万买爱彼15703?拆开表冠防水圈,这处结构直接劝退

有个刚接触机械表的朋友跟我吐槽,说现在的人说话太绕。他起初也是带着怀疑看了眼这作者名,心想这名字起得这么硬核,不会又是长篇大论吧,结果几分钟就看懂了。沟通就得直接点,今天咱们继续。古董表的美感像熟透的少妇&a…

作者头像 李华
网站建设 2026/6/30 4:49:04

51camera隧道综合巡检机器人 守护隧道安全

随着轨道交通网规模的不断扩大,隧道数量逐渐增多,加之轨道的运力持续释放,隧道病害问题日益凸显,隧道结构的安全保障压力同步加大,而隧道内部的微小缺陷均可能诱发重大安全事故,隧道巡检的必要性和重要性不…

作者头像 李华
网站建设 2026/6/30 4:48:57

2026年品牌设计年轻化,哪家公司策略更胜一筹?

“品牌年轻化不是换张海报、加个表情包,而是让品牌真正‘活’进新一代的生活方式里。” 当Z世代成为消费主力,当00后开始主导家庭健康决策,传统品牌若还停留在“自说自话”的视觉翻新,注定会被时代悄然淘汰。2026年,品…

作者头像 李华
网站建设 2026/6/30 4:48:49

IntelliJ IDEA 之下载与安装

其中,Windows 的还支持安装器版和解压包版,本文以安装器版为示例,版本号为 2025.3.3 。 提示:在 2025.3 版本之前,IDEA 还分社区版和旗舰版,社区版是免费的;现在统一了版本,没授权码…

作者头像 李华
网站建设 2026/6/30 4:48:11

几十万预算的办公楼照明改造,怎么找到靠谱服务商

很多持有老旧商务楼的业主都有过类似困扰:想做照明改造,预算只有几十万到一百万,找小团队怕踩坑,找大牌服务商又怕人家嫌项目小不肯接,最后要么改完效果差强人意,要么后期故障没人管,钱花了还闹…

作者头像 李华
网站建设 2026/6/30 4:47:27

机械臂的路径规划(jaka c12)

本文参考一:机械臂运动规划算法主要分为三大类 一、路径规划的基本逻辑 机械臂的路径规划就像给机器人画导航地图,需同时满足三个条件:避开障碍物、减少运动能耗、保持轨迹平滑。主流算法如RRT(快速随机树)通过随机采…

作者头像 李华