“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 中达到相同的结果?
谢谢大家!