我希望有一个DateTime Parser可以解析“正常”时间或时钟时间。
意味着我可以同时拥有00:00:00
或24: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();
如果有人可以帮助我,那会很有意思。
祝你好运, 弗洛里安
答案 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
进行集成。