Thursday, October 23, 2025
HomeLanguagesJavaZonedDateTime withZoneSameInstant() method in Java with Examples

ZonedDateTime withZoneSameInstant() method in Java with Examples

The withZoneSameInstant() method of a ZonedDateTime class is used to return a copy of this ZonedDateTime 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 timeline have no effect on the result.

Syntax:

public ZonedDateTime 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 ZonedDateTime based on this date-time with the requested zone.

Exception Thrown: DateTimeException if the result exceeds the supported date range.

Example 1:

Java




// Java program to demonstrate
// ZonedDateTime.withZoneSameInstant() method
 
// Importing required classes
import java.time.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a ZonedDateTime object
        ZonedDateTime zonedDT = ZonedDateTime.parse(
            "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
 
        // Printing ZonedDateTime of Calcutta on console
        System.out.println("ZonedDateTime of Calcutta: "
                           + zonedDT);
 
        // Applying withZoneSameInstant()
        ZonedDateTime zonedDT2
            = zonedDT.withZoneSameInstant(
                ZoneId.of("Pacific/Fiji"));
 
        // Now printing ZonedDateTime of Fuji
        // after withZoneSameInstant()
        System.out.println("ZonedDateTime of Fuji: "
                           + zonedDT2);
    }
}


Output: 

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

 

Example 2:

Java




// Java program to Demonstrate
// ZonedDateTime.withZoneSameInstant() method
 
// Importing required classes
import java.time.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a ZonedDateTime object and
        // passing date and time of Europe/Paris
        ZonedDateTime zonedDT = ZonedDateTime.parse(
            "2018-10-25T23:12:31.123+02:00[Europe/Paris]");
 
        // Printing ZonedDateTime of Paris on console
        // before applying withZoneSameInstant() method
        System.out.println("ZonedDateTime of Paris: "
                           + zonedDT);
 
        // Now applying withZoneSameInstant() method
        ZonedDateTime zonedDT2
            = zonedDT.withZoneSameInstant(
                ZoneId.of("Canada/Yukon"));
 
        // Printing ZonedDateTime
        // after applying withZoneSameInstant()
        System.out.println("ZonedDateTime of Yukon: "
                           + zonedDT2);
    }
}


Output

ZonedDateTime of Paris: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ZonedDateTime of Yukon: 2018-10-25T14:12:31.123-07:00[Canada/Yukon]
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS