ZonedDateTime withZoneSameInstant() method in Java with Examples

23 Mar, 2022
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 classesimport java.time.*; // Main classpublic 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);    }}
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 classesimport java.time.*; // Main classpublic 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);    }}
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]
solankimayank
sagartomar9927
Java-Functions
Java-time package
Java-ZonedDateTime
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
ArrayList in Java
Stream In Java
Collections in Java
Multidimensional Arrays in Java
Singleton Class in Java
Set in Java
Stack Class in Java