Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

LocalDateTimeのparseについて

文字列から以下のようにLocalDateTimeにparseしたいのですが、DateTimeParseExceptionが発生して失敗します。
単純にパターンが間違っているのでしょうか。それとも何か他の要因があるのでしょうか。

コード
LocalDateTime.parse("Wed Sep 06 19:15:30 JST 2017", DateTimeFormatter.ofPattern("EEE MMM dd hh:mm:ss zzz uuuu"));

例外
java.time.format.DateTimeParseException: Text 'Wed Sep 06 19:15:30 JST 2017' could not be parsed at index 0

3

回答

780

閲覧

3件の回答

評価

30

1. DateTimeFormatter.ofPattern()で取れるインスタンスはロケールがデフォルト(つまり日本)。
日本でWedとかSepとか、ふつう使っているか?
2. 時刻のパターン文字がおかしい。DateTimeFormatterのJavaDocを読もう。

評価

0

返信ありがとうございます。ご指摘いただいた2点を下記のように修正したところ動作しました。
ありがとうございました。
LocalDateTime.parse("Wed Sep 06 19:15:30 JST 2017", DateTimeFormatter.ofPattern("EEE MMM dd kk:mm:ss zzz uuuu").withLocale(Locale.ENGLISH));

評価

0

あれ?kでいいのか…?

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。