以下代码在执行时会导致“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);
}
}
}
答案 0 :(得分:4)
使用单引号表示文字文本。
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss'00'");
更新:快速测试后,它无法正常运行。我怀疑在javadoc中发现了一个未被发现的角落案例。毕竟,你可以把它们留下来。
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
或者,您也可以使用S
将其表示为毫秒。它不会影响最终结果,因为它无论如何都是零。
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssS");