Java 8 – How to extract LocalDate and LocalTime and LocalDateTime from OffsetDateTime ?

In this article, we will learn how to extract/get LocalDate & LocalTime & LocalDateTime from OffsetDateTime using toLocalDate() & toLocalTime() & toLocalDateTime() methods respectively provided in Java 1.8 version

For LocalDate/LocalTime/LocalDateTime to an OffsetDateTime conversion, read

Get LocalDate, LocalTime & LocalDateTime from OffsetDateTime :

  • OffsetDateTime has below methods
    • toLocalDate() – gets the LocalDate part from the invoking OffsetDateTime
    • toLocalTime() – gets the LocalTime part from the invoking OffsetDateTime
    • toLocalDateTime() – gets the LocalDateTime part from the invoking OffsetDateTime
  • Lets see an example for getting LocalDate & LocalTime & LocalDateTime from OffsetDateTime in the below illustration

GetLocalDateAndLocalTimeFromOffsetDateTime.java

package in.bench.resources.java8.offsetdatetime.examples;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;

public class GetLocalDateAndLocalTimeFromOffsetDateTime {

	public static void main(String[] args) {

		// 1. get Offset Date/time
		OffsetDateTime offsetDateTime = OffsetDateTime.now();
		System.out.println("Zoned Date/time is :- \n" 
				+ offsetDateTime);


		// 2. get Offset
		System.out.println("\nOffset is :- \n" 
				+ offsetDateTime.getOffset());


		// 3. convert OffsetDateTime to LocalDate using toLocalDate()
		LocalDate localDate = offsetDateTime.toLocalDate();
		System.out.println("\nExtract LocalDate from OffsetDateTime is :- \n"
				+ localDate);


		// 4. convert OffsetDateTime to LocalTime using toLocalTime()
		LocalTime localTime = offsetDateTime.toLocalTime();
		System.out.println("\nExtract LocalTime from OffsetDateTime is :- \n"
				+ localTime);


		// 5. convert OffsetDateTime to LocalDateTime using toLocalDateTime()
		LocalDateTime localDateTime = offsetDateTime.toLocalDateTime();
		System.out.print("\nExtract LocalDateTime from OffsetDateTime is :- \n"
				+ localDateTime);
	}
}

Output:

Zoned Date/time is :- 
2022-08-17T09:22:55.098199500+05:30

Offset is :- 
+05:30

Extract LocalDate from OffsetDateTime is :- 
2022-08-17

Extract LocalTime from OffsetDateTime is :- 
09:22:55.098199500

Extract LocalDateTime from OffsetDateTime is :- 
2022-08-17T09:22:55.098199500

Related Articles:

References:

Happy Coding !!
Happy Learning !!

Java 8 – How to extract OffsetTime from OffsetDateTime ?
Java 8 – How to convert OffsetDateTime to an Instant ?