El método getLong() de la interfaz ChronoLocalDateTime en Java se usa para obtener el valor del campo especificado pasado como entrada de este ChronoLocalDateTime como un valor largo. Este método consulta este ChronoLocalDateTime por el valor del campo y el valor devuelto siempre estará dentro de el rango válido de valores para el campo. Cuando el campo no es compatible y el método no puede devolver el valor int, se lanza una excepción.
Sintaxis:
long getLong(TemporalField field)
Parámetros: este método acepta un solo campo de parámetro que representa el campo a obtener. Este es un parámetro obligatorio y no debe ser nulo.
Valor devuelto: este método devuelve un valor int para el campo.
Excepción: este método arroja las siguientes excepciones:
- DateTimeException : si no se puede obtener un valor para el campo o el valor está fuera del rango de valores válidos para el campo.
- UnsupportedTemporalTypeException : si el campo no es compatible o el rango de valores supera un int.
- ArithmeticException : si se produce un desbordamiento numérico.
Los siguientes programas ilustran el método getLong():
Programa 1:
// Java program to demonstrate // ChronoLocalDateTime.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 ChronoLocalDateTime object ChronoLocalDateTime localDT = LocalDateTime .parse("2019-12-31T19:15:30"); // get all enum of chronofield // and iterate through all enum values for (ChronoField field : ChronoField.values()) { try { // get long value of field long value = localDT.getLong(field); System.out.println(field + " : " + value); } catch (Exception e) { System.out.println("e " + field); } } } }
NanoOfSecond : 0 NanoOfDay : 69330000000000 MicroOfSecond : 0 MicroOfDay : 69330000000 MilliOfSecond : 0 MilliOfDay : 69330000 SecondOfMinute : 30 SecondOfDay : 69330 MinuteOfHour : 15 MinuteOfDay : 1155 HourOfAmPm : 7 ClockHourOfAmPm : 7 HourOfDay : 19 ClockHourOfDay : 19 AmPmOfDay : 1 DayOfWeek : 2 AlignedDayOfWeekInMonth : 3 AlignedDayOfWeekInYear : 1 DayOfMonth : 31 DayOfYear : 365 EpochDay : 18261 AlignedWeekOfMonth : 5 AlignedWeekOfYear : 53 MonthOfYear : 12 ProlepticMonth : 24239 YearOfEra : 2019 Year : 2019 Era : 1 e InstantSeconds e OffsetSeconds
Programa 2:
// Java program to demonstrate // ChronoLocalDateTime.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 ChronoLocalDateTime object ChronoLocalDateTime localDT = LocalDateTime .parse("2018-10-25T23:12:31.123"); // try to find AMPM_OF_DAY // using ChronoField.AMPM_OF_DAY // in getLong method try { long value = localDT.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); } } }
AMPM_OF_DAY value: 1