Рубрики

ChronoZonedDateTime withZoneSameInstant () метод в Java с примерами

Метод withZoneSameInstant () интерфейса ChronoZonedDateTime, используемый для возврата копии этого объекта ChronoZonedDateTime путем изменения часового пояса и без мгновенного изменения. Этот метод основан на сохранении того же самого момента времени, поэтому пробелы и перекрытия в локальной временной шкале имеют не влияет на результат.

Синтаксис:

ChronoZonedDateTime withZoneSameInstant(ZoneId zone)

Параметры: Этот метод принимает одну зону с одним параметром, на которую нужно изменить часовой пояс. Он не должен быть нулевым.

Возвращаемое значение: этот метод возвращает ChronoZonedDateTime на основе этой даты-времени с запрошенной зоной.

Исключение: этот метод создает исключение DateTimeException : если результат превышает поддерживаемый диапазон дат.

Ниже программы иллюстрируют метод withZoneSameInstant ():

Программа 1:

// Java-программа для демонстрации
// ChronoZonedDateTime.withZoneSameInstant ()

  

import java.time.*;

import java.time.chrono.*;

  

public class GFG {

    public static void main(String[] args)

    {

  

        // создаем объект ChronoZonedDateTime

        ChronoZonedDateTime zonedDT

            = ZonedDateTime

                  .parse(

                      "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");

  

        // распечатать ChronoZonedDateTime

        System.out.println("ChronoZonedDateTime of Calcutta: "

                           + zonedDT);

  

        // применить с ZoneSameInstant ()

        ChronoZonedDateTime zonedDT2

            = zonedDT

                  .withZoneSameInstant(

                      ZoneId.of("Pacific/Fiji"));

  

        // печатаем ChronoZonedDateTime после withZoneSameInstant ()

        System.out.println("ChronoZonedDateTime of Fuji: "

                           + zonedDT2);

    }

}

Выход:

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]

Программа 2:

// Java-программа для демонстрации
// ChronoZonedDateTime.withZoneSameInstant ()

  

import java.time.*;

import java.time.chrono.*;

  

public class GFG {

    public static void main(String[] args)

    {

  

        // создаем объект ChronoZonedDateTime

        ChronoZonedDateTime zonedDT

            = ZonedDateTime

                  .parse(

                      "2018-10-25T23:12:31.123+02:00[Europe/Paris]");

  

        // распечатать ChronoZonedDateTime

        System.out.println("ChronoZonedDateTime of Calcutta: "

                           + zonedDT);

  

        // применить с ZoneSameInstant ()

        ChronoZonedDateTime zonedDT2

            = zonedDT

                  .withZoneSameInstant(

                      ZoneId.of("Canada/Yukon"));

  

        // печатаем ChronoZonedDateTime после withZoneSameInstant ()

        System.out.println("ChronoZonedDateTime of yukon: "

                           + zonedDT2);

    }

}

Выход:

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]

Ссылка: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoZonedDateTime.html#withZoneSameInstant-java.time.ZoneId-

Рекомендуемые посты:

ChronoZonedDateTime withZoneSameInstant () метод в Java с примерами

0.00 (0%) 0 votes