SimpleDateFormat的奇怪行为

时间:2011-11-16 12:41:53

标签: java internationalization

代码:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYYMMdd", Locale.US);
Object o = simpleDateFormat.parse("20111216");
System.out.println(simpleDateFormat.format((Date)o));

输出

20111226

为什么呢?巨虫?

3 个答案:

答案 0 :(得分:4)

应该是

yyyyMMdd

注意:小写字母y

另见

答案 1 :(得分:0)

修复模式后(应该yyyyMMdd使用小写y),代码按预期工作(输出20111216)。

答案 2 :(得分:0)

我认为操作上暗示的更大问题已被遗漏。

为什么有时'Y'在文档中有效。是的它应该是'y',但是在某些系统'Y'上有效。

我在Mac上开发了'Y'工作,它在prod Linux上爆炸,其中'Y'不起作用。不难发现发生了什么,但非常讨厌。