Joda Time,同时解析时间和时钟

时间:2011-08-06 12:00:24

标签: java datetime jodatime

我希望有一个DateTime Parser可以解析“正常”时间或时钟时间。 意味着我可以同时拥有00:00:0024:00:00。 进一步的时钟只允许午夜。手段24:00:01是不允许的。这必须表示为00:00:01。 这在某种程度上是可以实现的吗? 我的解析器目前不尊重clockhours:

//The formatter for the timezone
DateTimeFormatter timezoneFormatter = new DateTimeFormatterBuilder().appendTimeZoneOffset(null, true, 2, 2)
            .toFormatter();
//The formatter for the fractional (3 digit) seconds
DateTimeFormatter fractionalSecondsFormatter = new DateTimeFormatterBuilder().appendLiteral('.')
            .appendFractionOfSecond(3, 3).toFormatter();

// Here a parser is created that parses a string of the form HH:mm:ss. Further the string may have
// 3 digit fractional seconds (with a dot as prefix) and may have a timezone.
DATE_TIME_PARSER = new DateTimeFormatterBuilder().appendHourOfDay(2).appendMinuteOfHour(2).appendSecondOfMinute(2)
            .appendOptional(fractionalSecondsFormatter.getParser()).appendOptional(timezoneFormatter.getParser())
            .toFormatter();

如果有人可以帮助我,那会很有意思。

祝你好运, 弗洛里安

2 个答案:

答案 0 :(得分:2)

时钟小时24等于23:00。使用格式kk:mm:ss 24:00:01将被允许。因此,在这种意义上,24:00:00永远不会等于00:00:00

答案 1 :(得分:0)

Joda-Time不支持解析24:00。如果您要解析,则需要自己实施DateTimeParser并使用DateTimeFormatterBuilder进行集成。