📌  相关文章
📜  Java中的 ZoneOffset getLong(TemporalField) 方法及示例

📅  最后修改于: 2022-05-13 01:54:40.968000             🧑  作者: Mango

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 文档