Convert from ZonedDateTime to LocalDateTime with a timezone
Below is the Java example to convert ZonedDateTime to LocalDateTime with a timezone.
ZonedDateTime to LocalDateTime Example
ZonedDateTime represents immutable date-time with a timezone. And now() obtains the current system date-time in the default timezone if timezone ID is not specified using ZoneId.
ZoneId is a timezone ID such as “Asia/Calcutta”.
package com.sneppets.solution; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; public class ZonedDateTimeToLocalDateTimeExample { public static void main (String[] args) { //ZonedDateTime to LocalDateTime with timezone ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("Asia/Calcutta")); System.out.println("ZonedDateTime.now():" + zdt); LocalDateTime ldt = zdt.toLocalDateTime(); System.out.println("LocalDateTime:" + ldt); } }
Output
ZonedDateTime.now():2019-12-01T12:38:02.973+05:30[Asia/Calcutta] LocalDateTime:2019-12-01T12:38:02.973
LocalDateTime to ZonedDateTime
Below example shows you how to convert from local datetime to zoned datetime with ZoneId using atZone() method of LocalDateTime.
For instance, you can use withZoneSameInstant() method with different timezone id to change the offset while keeping the same instant or datetime.
package com.sneppets.solution; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; public class LocalDateTimeToZonedDateTimeExample { public static void main (String[] args) { LocalDateTime ldt = LocalDateTime.now(); System.out.println("LocalDateTime : " + ldt); ZoneId zone = ZoneId.of("Asia/Calcutta"); //ZonedDateTime with Asis/Calcutta timezone ZonedDateTime zdtAtAsiaCalcutta = ldt.atZone(zone); System.out.println("ZonedDateTime at Asia/Calcutta : " + zdtAtAsiaCalcutta); //Same data-time with Europe/Lisbon timezone ZonedDateTime zdtAtEuropeLisbon = zdtAtAsiaCalcutta.withZoneSameInstant(ZoneId.of("Europe/Lisbon")); System.out.println("ZonedDateTime at Europe/Lisbon : " + zdtAtEuropeLisbon); } }
Output
LocalDateTime : 2019-12-01T13:04:16.864 ZonedDateTime at Asia/Calcutta : 2019-12-01T13:04:16.864+05:30[Asia/Calcutta] ZonedDateTime at Europe/Lisbon : 2019-12-01T07:34:16.864Z[Europe/Lisbon]
Further Learning
- Java 8 – Convert LocalDate to Instant
- Use notepad++ XML Tools to edit XML files
- Build a Docker Image with a Dockerfile and Cloud Build in GCP?
- Visualize Big Data using Google Data Studio