Java 8 – How to form OffsetDateTime passing Instant and ZoneId ?

In this article, we will learn how to form OffsetDateTime passing Instant & ZoneId fields using OffsetDateTime.of() method provided in Java 1.8 version

Form OffsetDateTime passing Instant & ZoneId Fields :

  • OffsetDateTime.of() method returns OffsetDateTime passing Instant and ZoneId (Zone/Offset) fields
  • OffsetDateTime.of(Instant, ZoneId) –
    • Obtains an instance of OffsetDateTime from an Instant & ZoneId
  • Finally, print OffsetDateTime in different formatted style like SHORT & MEDIUM to the console

FormOffsetDateTime4.java

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

import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;

public class FormOffsetDateTime4 {

	public static void main(String[] args) {

		// 1. LocalDateTime
		Instant instant = Instant.now();
		System.out.println("Instant = \n" + instant);


		// 2. ZoneId
		ZoneId zoneId = ZoneId.systemDefault();
		System.out.println("\nZoneId :- \n" + zoneId);


		// 3. form OffsetDateTime passing Instant & ZoneId
		OffsetDateTime offsetDateTime = OffsetDateTime
				.ofInstant(instant, zoneId);
		System.out.println("\nOffsetDateTime :- \n" + offsetDateTime);


		// 3.1 format OffsetDateTime in FormatStyle.SHORT
		String formattedStr1 = offsetDateTime.format(
				DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT));
		System.out.println("\nOffsetDateTime in FormatStyle.SHORT :- \n" + formattedStr1);


		// 3.2 format OffsetDateTime in FormatStyle.MEDIUM
		String formattedStr2 = offsetDateTime.format(
				DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM));
		System.out.print("\nOffsetDateTime in FormatStyle.MEDIUM :- \n" + formattedStr2);
	}
}

Output:

Instant = 
2022-08-16T08:04:01.963240500Z

ZoneId :- 
Asia/Calcutta

OffsetDateTime :- 
2022-08-16T13:34:01.963240500+05:30

OffsetDateTime in FormatStyle.SHORT :- 
16/08/22, 1:34 pm

OffsetDateTime in FormatStyle.MEDIUM :- 
16-Aug-2022, 1:34:01 pm

Related Articles:

References:

Happy Coding !!
Happy Learning !!

Java 8 – How to parse OffsetDateTime in String form ?
Java 8 – How to form OffsetDateTime passing LocalDateTime and ZoneOffset ?