Monday, December 22, 2025
HomeLanguagesJavaChronoZonedDateTime withZoneSameLocal() method in Java with Examples

ChronoZonedDateTime withZoneSameLocal() method in Java with Examples

The withZoneSameLocal() 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 withZoneSameLocal(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.

Below programs illustrate the withZoneSameLocal() method:

Program 1:




// Java program to demonstrate
// ChronoZonedDateTime.withZoneSameLocal() 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 withZoneSameLocal()
        ChronoZonedDateTime zonedDT2
            = zonedDT
                  .withZoneSameLocal(
                      ZoneId.of("Pacific/Fiji"));
  
        // print ChronoZonedDateTime after withZoneSameLocal()
        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-06T19:21:12.123+13:00[Pacific/Fiji]

Program 2:




// Java program to demonstrate
// ChronoZonedDateTime.withZoneSameLocal() 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 withZoneSameLocal()
        ChronoZonedDateTime zonedDT2
            = zonedDT
                  .withZoneSameLocal(
                      ZoneId.of("Canada/Yukon"));
  
        // print ChronoZonedDateTime after withZoneSameLocal()
        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-25T23:12:31.123-07:00[Canada/Yukon]

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

RELATED ARTICLES

Most Popular

Dominic
32456 POSTS0 COMMENTS
Milvus
111 POSTS0 COMMENTS
Nango Kala
6823 POSTS0 COMMENTS
Nicole Veronica
11958 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12038 POSTS0 COMMENTS
Shaida Kate Naidoo
6958 POSTS0 COMMENTS
Ted Musemwa
7203 POSTS0 COMMENTS
Thapelo Manthata
6911 POSTS0 COMMENTS
Umr Jansen
6890 POSTS0 COMMENTS