DateFormat格式在JDK 1.6和1.7之间的ROC年份

时间:2013-07-10 06:18:50

标签: java simpledateformat

“java.text.SimpleDateFormat”不支持ROC年份,所以我写了一个类extends java.text.SimpleDateFormat。

我已经定义'e'代表ROC年,就像'y'代表年份一样。

TwyDateFormat format = new TwyDateFormat("eee-MM-dd- HH:mm:ss");
System.out.println(new java.util.Date()); // if now is Wed Jul 10 13:53:58 CST 2013

它将在JDK 1.7中显示“102-07-10 13:53:58”,但在JDK 1.6中显示“02-07-10 13:53:58”。

我发现JDK 1.6和JDK 1.7之间存在一点差异,如下所示。

JDK Source Code(很抱歉,我没有足够的声誉发布图片......)

在JDK 1.7中,模式长度不等于2将被视为4,无论是'y'还是'yyy'都将被视为'yyyy'。 在JDK 1.6中,模式长度小于4将被视为2,这意味着'yyy'将被视为'yy'。

有没有办法在JDK 1.6中达到相同的结果?

全部谢谢!

1 个答案:

答案 0 :(得分:1)

我想JodaTime可以管理ROC日历。

have a look