ZonedDateTime
を("dd/MM/yyyy - hh:mm")
の形式でString
に変換したいとします。私はこれがジョーダン時間他のタイプで可能であることを知っている、ちょうど彼らのtoString("dd/MM/yyyy - hh:mm")
を使用して....しかし、これはZonedDateTime.toString()
で動作しません。ZonedDateTimeを文字列にフォーマットする方法は?
ZonedDateTime
をString
にフォーマットするにはどうすればよいですか?
EDIT:
私は別のタイムゾーンで時間を印刷しようとしましたが、結果は常に同じになるように表示されます。
ZonedDateTime date = ZonedDateTime.now();
ZoneId la = ZoneId.of("America/Los_Angeles");
ZonedDateTime date2 = date.of(date.toLocalDateTime(), la);
// 24/02/2017 - 04:53
System.out.println(DateTimeFormatter.ofPattern("dd/MM/yyyy - hh:mm").format(date));
// same result as the previous one
// 24/02/2017 - 04:53
System.out.println(DateTimeFormatter.ofPattern("dd/MM/yyyy - hh:mm").format(date2));
そして、私はロスと同じタイムゾーンではないですアンヘレス。
EDIT 2:タイムゾーンを変更する方法を発見
:
// Change this:
ZonedDateTime date2 = date.of(date.toLocalDateTime(), la); // incorrect!
// To this:
ZonedDateTime date2 = date.withZoneSameInstant(la);
がありますjdk8 java.time.ZonedDateTimeを使用していますか? – reos
はい、私はそう思っています... – mFeinstein
ZonedDateTimeの形式()を使用してください –