DateTimeFormatter.parseLocalDate抛出UnsupportedOperationException

FGr*_*reg 6 java jodatime

parseLocalDate的API 表示它将抛出UnsupportedOperationException"如果不支持解析"."如果不支持解析"是什么意思?我正在查看源代码,无法找到抛出的任何地方UnsupportedOperationException.有没有人曾经遇到过这种异常从调用中抛出的情况parseLocalDate

Ily*_*lya 6

DateTimeFormatter有两个用法:

  • 打印日期;
  • 解析日期;

创建DateTimeFormatter实例时,将传递给它DateTimePrinterDateTimeParser.

如果您的格式化程序只有打印机,并且您想要解析日期 - UnsupportedOperationException将被抛出.

如果您的格式化程序只有解析器,并且您想要打印日期 - UnsupportedOperationException将被抛出.

  DateTimeFormatter formatter = new DateTimeFormatter(new DateTimePrinter()
  {
     // implements all abstract methods         
  }, null); // this instance has printer and hasn't parser
  formatter.print(new DateTime()); // works well
  formatter.parseDateTime("datetimestring"); // throws exeption
Run Code Online (Sandbox Code Playgroud)

  • 此外,请注意有两种类似的实例方法:`ISODateTimeFormat.dateTime()`和`ISODateTimeFormat.dateTimeParser()`.如果您使用后者并尝试`.format(dateTime)`,则会出现此异常. (3认同)