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

Опубликовано: 7 Февраля, 2022

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

Синтаксис:

по умолчанию int getLong (поле TemporalField)

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

Возвращаемое значение: этот метод возвращает значение типа int для поля.

Исключение: этот метод вызывает следующие исключения:

  • DateTimeException : если значение для поля не может быть получено или значение выходит за пределы диапазона допустимых значений для поля.
  • UnsupportedTemporalTypeException : если поле не поддерживается или диапазон значений превышает int.
  • ArithmeticException : если происходит числовое переполнение.

Below programs illustrate the getLong() method:
Program 1:

// Java program to demonstrate
// ChronoZonedDateTime.getLong() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoField;
  
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]");
  
        // get all enum of chronofield
        // and iterate through all enum values
        for (ChronoField field : ChronoField.values()) {
  
            try {
                // get long value of field
                long value = zonedDT.getLong(field);
                System.out.println("field : " + field
                                   + " || value : " + value);
            }
            catch (Exception e) {
                System.out.println("e " + field);
            }
        }
    }
}
Output:
field : NanoOfSecond || value : 123000000
field : NanoOfDay || value : 69672123000000
field : MicroOfSecond || value : 123000
field : MicroOfDay || value : 69672123000
field : MilliOfSecond || value : 123
field : MilliOfDay || value : 69672123
field : SecondOfMinute || value : 12
field : SecondOfDay || value : 69672
field : MinuteOfHour || value : 21
field : MinuteOfDay || value : 1161
field : HourOfAmPm || value : 7
field : ClockHourOfAmPm || value : 7
field : HourOfDay || value : 19
field : ClockHourOfDay || value : 19
field : AmPmOfDay || value : 1
field : DayOfWeek || value : 4
field : AlignedDayOfWeekInMonth || value : 6
field : AlignedDayOfWeekInYear || value : 4
field : DayOfMonth || value : 6
field : DayOfYear || value : 340
field : EpochDay || value : 17871
field : AlignedWeekOfMonth || value : 1
field : AlignedWeekOfYear || value : 49
field : MonthOfYear || value : 12
field : ProlepticMonth || value : 24227
field : YearOfEra || value : 2018
field : Year || value : 2018
field : Era || value : 1
field : InstantSeconds || value : 1544104272
field : OffsetSeconds || value : 19800

Program 2:

// Java program to demonstrate
// ChronoZonedDateTime.getLong() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoField;
  
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]");
  
        // try to find AMPM_OF_DAY
        // using ChronoField.AMPM_OF_DAY
        // in getLong method
        try {
  
            long value
                = zonedDT.getLong(
                    ChronoField.AMPM_OF_DAY);
  
            // print result
            System.out.println("AMPM_OF_DAY value: "
                               + value);
        }
        catch (Exception e) {
  
            // print exception
            System.out.println("Exception: " + e);
        }
    }
}
Output:
AMPM_OF_DAY value: 1

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

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .