[解決済み】InstantをStringにフォーマットする際にUnsupportedTemporalTypeExceptionが発生する。
2022-03-27 11:57:43
質問
新しいJava 8 Date and Time APIと次のパターンを使用して、InstantをStringにフォーマットしようとしています。
Instant instant = ...;
String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant);
上記のコードを使用すると、サポートされていないフィールドについて文句を言う例外が発生します。
java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra
at java.time.Instant.getLong(Instant.java:608)
at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298)
...
解決方法は?
タイムゾーン
をフォーマットするには
Instant
a
時間帯
が必要です。time-zone がないと、フォーマッタはその瞬間を人間の日付時間フィールドに変換する方法を知らないので、例外をスローします。
タイムゾーンは、フォーマッタに直接追加するには
withZone()
.
DateTimeFormatter formatter =
DateTimeFormatter.ofLocalizedDateTime( FormatStyle.SHORT )
.withLocale( Locale.UK )
.withZone( ZoneId.systemDefault() );
タイムゾーンを明示しないISO-8601形式を特に希望する場合 (OPの質問のように)。 タイムゾーンを暗黙のうちにUTCとした場合 が必要です。
DateTimeFormatter.ISO_LOCAL_DATE_TIME.withZone(ZoneId.from(ZoneOffset.UTC))
文字列の生成
このフォーマッターを使用して、InstantのString表現を生成します。
Instant instant = Instant.now();
String output = formatter.format( instant );
コンソールにダンプする。
System.out.println("formatter: " + formatter + " with zone: " + formatter.getZone() + " and Locale: " + formatter.getLocale() );
System.out.println("instant: " + instant );
System.out.println("output: " + output );
実行時
formatter: Localized(SHORT,SHORT) with zone: US/Pacific and Locale: en_GB
instant: 2015-06-02T21:34:33.616Z
output: 02/06/15 14:34
関連
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Windowsのコマンドラインで、現在の日付/時刻をファイル/フォルダー名で使用するために適切な形式で取得するにはどうすればよいですか?
-
[解決済み] この日付形式は何ですか?2011-08-12T20:17:46.384Z
-
[解決済み] java.time.LocalDateTimeとjava.util.Date間の変換について
-
[解決済み] LocalDateTimeで日付をパース/フォーマットする方法は?(Java 8)
-
[解決済み】文字列をdatetimeに変換する
-
[解決済み】Java 8で2つのDateの間の日数を計算する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] init-paramとcontext-param
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません
-
[解決済み] java.util.DateからStringへの変換