0

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

我已经定义了“e”代表中华民国年份,就像“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 源代码(对不起,我没有足够的声誉来发布图像......)

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

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

谢谢大家!

4

1 回答 1

1

我猜 JodaTime 可以管理 ROC 日历。

看一看

于 2013-07-10T07:15:03.670 回答