网站首页 > 知识剖析 正文
前言
部门发邮件,java日期格式化有坑,有类似的问题赶紧自查,抓紧修复。这个坑挺有意思,看看你有没有遇到过。
正文
提交的代码被老大打回,并邮件告知全部门,原因是日期格式化用法有问题,SimpleDateFormat.可能是从其他地方直接复制的,没检查,用了 YYYY-MM-dd
我也工作过8年了,一直在北京,算是一名有经验的码农了,实在不应该犯这么低级错误。
由于是在国际化部门,每个国家的时间都可能不一样,后果更要命了!下面我介绍下这个坑。
首先简化逻辑后的代码如下
输出如下:
很明显,使用YYYY时,2021年变成了2022年,在正常情况下可能没问题,但是在跨年的时候大概率就会有问题了。
原因也简单:小写‘y’表示当天所在的年,大写‘Y’代表week in which year,(Week year 意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年)年末的最后一周和年初的第一周可能有”惊喜“了
另外阿里的插件已经可以实时检测这个错误
要修复这个问题很简单,日期、货币等等共用的方法作为组件提供给业务方,这样大家就不会踩这个雷了
总结
- 日期格式年统一用yyyy小写。
- 封装成统一的工具类,不要直接复制别人的格式
回头一想,如果跨年的时候爆出来,不只我,老大可能都要卷铺盖走人,因为之前写错一个日文的标点符号,都成了twitter热搜。
猜你喜欢
- 2025-07-28 python入门到脱坑经典案例—显示现在时间
- 2025-07-28 Python日期和时间(python日期处理)
- 2025-07-28 Delphi关于日期时间的操作(delphi日期加减)
- 2025-07-28 Excel录入日期的N种方法,学会了甩同事两条街
- 2025-07-28 建议转发收藏|呼吸机常规问题自查及注意事项大全!
- 2025-07-28 jquery easyUI 日期格式化,DateBox只显示年
- 2025-07-28 每天一个 Python 库:datetime 模块全攻略,时间操作太丝滑!
- 2025-07-28 Python时间日期模块使用教程(python日期代码)
- 2025-07-28 C#语言学习笔记18 —— 字符串格式化要点
- 2025-07-28 EXCEL如何将文本日期转换为标准日期格式
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)