今天遇到了一个 SimpleDateFormat 的 bug

2020-01-02 19:59:52 +08:00
 lokamir

贴上代码: Date beginDate = (Date)param.get("beginDate"); String date =new SimpleDateFormat("YYYY-MM-dd").format(beginDate);

输出结果居然出错了

beginDate Date (id=227) →Mon Dec 30 19:52:05 CST 2019

date "2020-12-30" (id=228)

3116 次点击
所在节点    Java
12 条回复
lokamir
2020-01-02 20:02:02 +08:00
反复试了几次 只有 2019 年 12 月 29 至 31 日这三天会出 BUG,格式化后变成了 2020 年
其他的时间都正常,包括 2018 年 12 月 29 日,真 TM 见鬼了
manami
2020-01-02 20:03:56 +08:00
SimpleDateFormat 没设置时区导致的
sheepke
2020-01-02 20:04:05 +08:00
Bromine0x23
2020-01-02 20:05:18 +08:00
YYYY
codingadog
2020-01-02 20:05:54 +08:00
yyyy-MM-dd
manami
2020-01-02 20:06:35 +08:00
我错了,是 YYYY 问题
lokamir
2020-01-02 20:06:56 +08:00
看来是我大惊小怪了 谢谢楼上各位
lokamir
2020-01-02 20:08:15 +08:00
YYYY 改 yyyy 正常了,记下这个教训了,谢谢大家
littleshy
2020-01-02 20:48:54 +08:00
都不看官方文档的吗?
chendy
2020-01-02 20:53:59 +08:00
这才过去几天啊… https://v2ex.com/t/633650
ARhen
2020-01-06 15:58:09 +08:00
YYYY,公司一个老项目还有这 bug,我没动,我怕重新发布问题更多,项目 2 年基本没人维护
hfismyangel
2020-01-19 11:26:54 +08:00
哈哈 踩坑了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/634571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX