我知道有关于java.util.Date和Joda-Time的问题.但经过一番挖掘后,我找不到关于java.time API(Java 8中新增,JSR 310定义)和Joda-Time之间差异的线程.
我听说Java 8的java.time API比Joda-Time更清洁,可以做得更多.但我找不到比较两者的例子.
当我使用时SimpleDateFormat,它可以解析.
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
format.setLenient(false);
Date d = format.parse(date);
Run Code Online (Sandbox Code Playgroud)
但是当我使用Java 8 DateTimeFormatter时
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");
LocalDate localDate = LocalDate.parse(date, formatter);
Run Code Online (Sandbox Code Playgroud)
它抛出
java.time.format.DateTimeParseException:文本 '201510' 无法解析:无法从TemporalAccessor获得LOCALDATE:{年份= 2015,MonthOfYear = 10},类型的Java的ISO .time.format.Parsed
日期的字符串值是"201510".