當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java ZonedDateTime getLong()用法及代碼示例


Java中的ZonedDateTime類的getLong()方法用於獲取從此ZonedDateTime作為輸入傳遞的指定字段的值作為long值。此方法向ZonedDateTime查詢該字段的值,並且返回的值將始終在有效範圍內字段值的範圍。當不支持該字段並且方法無法返回int值時,將引發異常。

用法:

public int getLong(TemporalField field)

參數:此方法接受單個參數字段,該字段代表要獲取的字段。這是必填參數,不能為null。


返回值:此方法返回該字段的int值。

異常:此方法引發以下異常:

  • DateTimeException:如果無法獲取該字段的值,或者該值超出該字段的有效值範圍。
  • UnsupportedTemporalTypeException:如果不支持該字段或值的範圍超過int。
  • ArithmeticException:如果發生數字溢出。

以下示例程序旨在說明getLong()方法:
示例1:

// Java program to demonstrate 
// ZonedDateTime.getLong() method 
  
import java.time.*; 
import java.time.temporal.ChronoField; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime 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

示例2:

// Java program to demonstrate 
// ZonedDateTime.getLong() method 
  
import java.time.*; 
import java.time.temporal.ChronoField; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a ZonedDateTime object 
        ZonedDateTime 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

參考:
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#getLong(java.time.temporal.TemporalField)



相關用法


注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 ZonedDateTime getLong() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。