Joda-Time 中的自由日期/时间解析

2024-02-02

是否可以创建一个DateTimeParser这将解析:

  • 给定时间的日期
  • 没有时间的日期(假设时间是一天的开始)
  • 没有日期的时间(假设日期是今天)

或者我是否需要三个单独的解析器,并尝试用每个解析器解析字符串?

换句话说,是否可以在解析器中定义可选字段?


org.joda.time.format.ISODateTimeFormat有一个静态方法dateOptionalTimeParser()使用下面的代码,基于DateTimeFomatterBuilder类,其中有一个appendOptional方法 - 您可能能够根据您的要求调整该方法...链接:http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormatterBuilder.html 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Joda-Time 中的自由日期/时间解析 的相关文章

随机推荐