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

标签 java simpledateformat

“java.text.SimpleDateFormat”不支持中华民国年份,所以我编写了一个类扩展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 Source Code (很抱歉,我没有足够的声誉来发布图片......)

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

有什么方法可以在 JDK 1.6 中达到相同的结果吗?

谢谢大家!

最佳答案

我猜 JodaTime 可以管理 ROC 日历。

have a look

关于java - JDK 1.6 和 1.7 之间的 DateFormat 格式 ROC 年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17563673/

相关文章:

java - 格式化包含日期的字符串

java - 获取所有应用在android上的运行时间

java - 使用手势覆盖检测 Android 字母手势

java - 编写一个程序,从键盘读取字符,直到读取换行符 '\n'

java - 从 GWT 客户端代码调用 Java Applet 方法时,调用 NPObject 上的方法时出错

Java SimpleDateFormat与19700101转换问题

java - SimpleDateFormat 字符串的正则表达式

Java HashMap containsKey函数

java - 是否有半年广告季度年的任何日期格式

JAVA - 如果条件在参数上不能正常工作