当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。