带有00的SimpleDateFormat格式字符串会导致Unparsaeble日期

时间:2010-09-23 15:11:23

标签: java date

以下代码在执行时会导致“Unparseable date”异常。有什么方法可以告诉SimpleDateFormat日期字符串必须以00结束吗?

public class Main {
public static void main(String[] args) {
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss00");
    try {
        Date date = format.parse("2009030916301600");
    } catch (ParseException ex) {
        System.out.println("Exception" + ex);
    }
}

}

1 个答案:

答案 0 :(得分:4)

使用单引号表示文字文本。

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss'00'");

另见:


更新:快速测试后,它无法正常运行。我怀疑在javadoc中发现了一个未被发现的角落案例。毕竟,你可以把它们留下来。

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");

或者,您也可以使用S将其表示为毫秒。它不会影响最终结果,因为它无论如何都是零。

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssS");