2016-08-18 16 views
-2
私は java.timeに次の時刻文字列を解析する

時間をミリ秒単位で解析する方法は?

OffsetDateTime.parse("00:00:00.000+02:00", DateTimeFormatter.ISO_OFFSET_TIME); 

結果:この方法ではない場合

java.time.format.DateTimeParseException: Text '00:00:00.000+02:00' could not be parsed: Unable to obtain OffsetDateTime from TemporalAccessor: {OffsetSeconds=7200},ISO resolved to 00:00 of type java.time.format.Parsed 
    at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1918) 
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1853) 
    at java.time.OffsetDateTime.parse(OffsetDateTime.java:402) 

は、どのように私はそれから、この時間を解析することができますか?

+0

あなたは** date **時間を解析していますが、どこに日付がありますか? –

+0

ヒント: 'OffsetTime'を使用してください。 –

+0

http://stackoverflow.com/questions/2201925/converting-iso-8601-compliant-string-to-java-util-date – Setily

答えて

4

アンOffsetDateTimeオフセットと日時の不変表現

を表します。 このクラスは、すべての日付と時刻のフィールドを、ナノ秒の精度とUTC /グリニッジからのオフセットに格納します。

しかし、あなたは、日付なし日付文字列を解析しようとしている一部

"00:00:00.000+02:00" 

解析は、この日付を抽出するため、失敗することはできません。

あなたはこのクラスの店は だけでなく、オフセットゾーンとして、ナノ秒の精度に、すべての時間フィールドOffsetTime

を使用するように見えます。

あなたはLocalDateを持っている場合は、その後OffsetTime#atDateで、OffsetDateTimeにそれを変換することができます。

関連する問題