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

回答

133

閲覧

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でいいのか…?

回答する

ログインしていません。

ログインしなくても回答はできますが、ログインすると、質問・回答の管理、更新があった場合のメールでの通知を受けることができます。 アカウントをお持ちでない方は会員登録を行ってください。

ユーザ名匿名