ブレット:
私は、次の形式で日時文字列を解析しようとしています:
2019-02-22 19:29:43+00:00
私はこのガイドを、次のよ:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
この特定の行は、私が解析しようとしていることをタイムスタンプ文字列のようです:
Z zone-offset offset-Z +0000; -0800; -08:00;
ここで私はガイドことを考えると、作成したものです。
String input = "2019-02-22 19:29:43+00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX");
LocalDateTime parsed = LocalDateTime.parse(input, formatter);
しかし、私はこのエラーを取得します:
java.time.format.DateTimeParseException: Text '2019-02-22 19:29:43+00:00' could not be parsed, unparsed text found at index 22
サミュエル・フィリップ:
試してみてくださいyyyy-MM-dd HH:mm:ssXXX
。これはあなたの問題を解決する必要があります。
XおよびXオフセット:
このような「+01」として一文字出力だけ時間、分に分はまた、「0130」として出力され、その場合に非ゼロでない限り。
2つの文字は、そのような「0130」として、コロンなしで、時間と分を出力します。
「:30 01」の3文字のような、コロンで、時間と分を出力します。
4つの文字は、「013015」として、結腸ことなく、時、分及び任意の第二出力します。
五時間と分と任意の第二の出力文字、コロン、など「+01:30:15」。
6個以上の文字がIllegalArgumentExceptionをスローします。
テーブルの下の記述から:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
EDIT:
あなたがそのパターンと日付をフォーマットするために必要と同じ出力文字列をしたい場合は、使用する必要がありますyyyy-MM-dd HH:mm:ssxxx
(下記Andreasのコメントを参照)の代わりに。