The getLong() method of ChronoZonedDateTime interface in Java is used to get the value of the specified field passed as input from this ChronoZonedDateTime as an long value.This method queries this ChronoZonedDateTime for the value of the field and the returned value will always be within the valid range of values for the field. When the field is not supported and the method is unable to return int value then an exception is thrown.
Syntax:
default int getLong(TemporalField field)
Parameters: This method accepts a single parameter field which represents the field to get. This is a mandatory parameter and it should not be null.
Return value: This method returns an int value for the field.
Exception: This method throws following exceptions:
- DateTimeException: if a value for the field cannot be obtained or the value is outside the range of valid values for the field.
- UnsupportedTemporalTypeException : if the field is not supported or the range of values exceeds an int.
- ArithmeticException : if numeric overflow occurs.
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); } } } } |
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); } } } |
AMPM_OF_DAY value: 1