Java中的 ZoneOffset getLong(TemporalField) 方法及示例
Java.time 包中ZoneOffset 类的getLong(TemporalField)方法用于从这个ZoneOffset 实例中获取指定的TemporalField 的值。该方法以 TemporalField 作为参数,并返回该字段的 long 值。
句法:
public long getLong(TemporalField temporalField)
参数:此方法接受此 ZoneOffset 实例所需的参数temporalField 。
返回值:此方法返回一个长值,它是作为参数传递给此 ZoneOffset 实例的 temporalField 的字段值。
例外:此方法抛出:
- DateTimeException:如果无法获取该字段的值或该值超出该字段的有效值范围
- UnsupportedTemporalTypeException:如果该字段不受支持或值的范围超过一个 int
- ArithmeticException:如果发生数字溢出
下面的示例说明了 ZoneOffset.getLong() 方法:
示例 1:
// Java code to illustrate getLong() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// Get the ZoneOffset instance
ZoneOffset zoneOffset
= ZoneOffset.of("+05:30");
System.out.println("ZoneOffset: "
+ zoneOffset);
// Using getLong() method
System.out.println("Second value: "
+ zoneOffset.getLong(ChronoField.OFFSET_SECONDS));
}
}
输出:
ZoneOffset: +05:30
Second value: 19800
示例 2:显示 DateTimeException
// Java code to illustrate getLong() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
try {
// Get the ZoneOffset instance
ZoneOffset zoneOffset
= ZoneOffset.ofHours(25);
System.out.println("ZoneOffset: "
+ zoneOffset);
// Using getLong() method
System.out.println("Second value: "
+ zoneOffset.getLong(ChronoField.OFFSET_SECONDS));
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
java.time.DateTimeException: Zone offset hours not in valid range: value 25 is not in the range -18 to 18
参考: Oracle 文档