我想将 a 转换ZonedDateTime
为 aString
的格式("dd/MM/yyyy - hh:mm")
。我知道这在 Joda-Time 其他类型中是可能的,只需使用它们toString("dd/MM/yyyy - hh:mm")
......但这不适用于ZonedDateTime.toString()
.
如何将 a 格式化ZonedDateTime
为 a String
?
编辑:
我试图在另一个时区打印时间,结果似乎总是一样的:
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));
而且我和洛杉矶不在同一个时区。
编辑2:
找到如何更改时区:
// Change this:
ZonedDateTime date2 = date.of(date.toLocalDateTime(), la); // incorrect!
// To this:
ZonedDateTime date2 = date.withZoneSameInstant(la);