I have an object of
ZonedDateTime that is constructed like this
ZonedDateTime z = ZonedDateTime.of(LocalDate.now().atTime(11, 30), ZoneOffset.UTC);
How can I convert it to
LocalDateTime at time zone of Switzerland? Expected result should be
16 april 2018 13:30.
How can I convert it to LocalDateTime at time zone of Switzerland?
You can convert the UTC
ZonedDateTime into a
ZonedDateTime with the time zone of Switzerland, but maintaining the same instant in time, and then get the
LocalDateTime out of that, if you need to. I’d be tempted to keep it as a
ZonedDateTime unless you need it as a
LocalDateTime for some other reason though.
ZonedDateTime utcZoned = ZonedDateTime.of(LocalDate.now().atTime(11, 30), ZoneOffset.UTC); ZoneId swissZone = ZoneId.of("Europe/Zurich"); ZonedDateTime swissZoned = utcZoned.withZoneSameInstant(swissZone); LocalDateTime swissLocal = swissZoned.toLocalDateTime();