「通常の」時間または時計のいずれかの時間を解析できる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();
はgreateのだろう。
敬具、 フロリアン
ISO 8601(およびxs:時間)の時間については、次のように記述されています。hh形式の2桁の値は、0〜24の値を持つことができます。時間要素の値が24の場合、minutes要素と秒の要素は00と00でなければなりません.24は23と同じではありません。時間は21:00、22:00、24:00、00:00となります。私はJodaとISO8601の時間形式をマッピングしたい(ホンダは00 - 23、kkは01 - 24ですが、kk 24:01は許可されており、ISO8601は許可されていません) –
24:00と同じです時刻は00:00としていますが、00:00より前の24:00です。 24:00は(ISO8601)正確に真夜中を表すために使用できます。 –