是否可以创建一个可以解析的DateTimeParser
:
或者我需要有三个单独的解析器,并尝试解析每个解析器?
换句话说,是否可以在解析器中定义可选字段?
答案 0 :(得分:3)
org.joda.time.format.ISODateTimeFormat
有一个静态方法dateOptionalTimeParser()
,它使用下面的代码,基于具有DateTimeFomatterBuilder
方法的appendOptional
类 - 您可能会适应符合要求的方法......链接:http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormatterBuilder.html
public static DateTimeFormatter dateOptionalTimeParser() {
if (dotp == null) {
DateTimeParser timeOrOffset = new DateTimeFormatterBuilder()
.appendLiteral('T')
.appendOptional(timeElementParser().getParser())
.appendOptional(offsetElement().getParser())
.toParser();
dotp = new DateTimeFormatterBuilder()
.append(dateElementParser())
.appendOptional(timeOrOffset)
.toFormatter();
}
return dotp;
}