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