Monday, October 6, 2025
HomeLanguagesJavaChronoZonedDateTime withZoneSameInstant() method in Java with Examples

ChronoZonedDateTime withZoneSameInstant() method in Java with Examples

The withZoneSameInstant() method of a ChronoZonedDateTime interface used to return a copy of this ChronoZonedDateTime object by changing the time-zone and without the instant.This method is based on retaining the same instant, thus gaps and overlaps in the local time-line have no effect on the result.

Syntax:

ChronoZonedDateTime withZoneSameInstant(ZoneId zone)

Parameters: This method accepts one single parameter zone the time-zone to change to.It should not be null.

Return value: This method returns a ChronoZonedDateTime based on this date-time with the requested zone.

Exception: This method throws DateTimeException: if the result exceeds the supported date range.

Below programs illustrate the withZoneSameInstant() method:

Program 1:




// Java program to demonstrate
// ChronoZonedDateTime.withZoneSameInstant() method
  
import java.time.*;
import java.time.chrono.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ChronoZonedDateTime object
        ChronoZonedDateTime zonedDT
            = ZonedDateTime
                  .parse(
                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
  
        // print ChronoZonedDateTime
        System.out.println("ChronoZonedDateTime of Calcutta: "
                           + zonedDT);
  
        // apply withZoneSameInstant()
        ChronoZonedDateTime zonedDT2
            = zonedDT
                  .withZoneSameInstant(
                      ZoneId.of("Pacific/Fiji"));
  
        // print ChronoZonedDateTime after withZoneSameInstant()
        System.out.println("ChronoZonedDateTime of Fuji: "
                           + zonedDT2);
    }
}


Output:

ChronoZonedDateTime of Calcutta: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
ChronoZonedDateTime of Fuji: 2018-12-07T02:51:12.123+13:00[Pacific/Fiji]

Program 2:




// Java program to demonstrate
// ChronoZonedDateTime.withZoneSameInstant() method
  
import java.time.*;
import java.time.chrono.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ChronoZonedDateTime object
        ChronoZonedDateTime zonedDT
            = ZonedDateTime
                  .parse(
                      "2018-10-25T23:12:31.123+02:00[Europe/Paris]");
  
        // print ChronoZonedDateTime
        System.out.println("ChronoZonedDateTime of Calcutta: "
                           + zonedDT);
  
        // apply withZoneSameInstant()
        ChronoZonedDateTime zonedDT2
            = zonedDT
                  .withZoneSameInstant(
                      ZoneId.of("Canada/Yukon"));
  
        // print ChronoZonedDateTime after withZoneSameInstant()
        System.out.println("ChronoZonedDateTime of yukon: "
                           + zonedDT2);
    }
}


Output:

ChronoZonedDateTime of Calcutta: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ChronoZonedDateTime of yukon: 2018-10-25T14:12:31.123-07:00[Canada/Yukon]

Reference: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoZonedDateTime.html#withZoneSameInstant-java.time.ZoneId-

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32338 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6707 POSTS0 COMMENTS
Nicole Veronica
11871 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11936 POSTS0 COMMENTS
Shaida Kate Naidoo
6825 POSTS0 COMMENTS
Ted Musemwa
7089 POSTS0 COMMENTS
Thapelo Manthata
6779 POSTS0 COMMENTS
Umr Jansen
6781 POSTS0 COMMENTS