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

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

Java中的 OffsetDateTime getLong() 方法及示例

Java中 OffsetDateTime 类的getLong()方法从这个日期时间中获取指定字段的值作为 long。

句法 :

public long getLong(TemporalField field)

参数:此方法接受单个参数字段,该字段指定要获取的字段,而不是 null。

返回值:它返回字段的值。

异常:该函数抛出三个异常,如下所述:

  • DateTimeException :如果无法获取该字段的值或该值超出该字段的有效值范围,则抛出该异常。
  • UnsupportedTemporalTypeException :如果该字段不受支持或值的范围超过一个 long,则抛出该异常。
  • ArithmeticException : 如果发生数值溢出则抛出

下面的程序说明了getLong()方法:

程序 1:

// Java program to demonstrate the getLong() method
import java.time.OffsetDateTime;
import java.time.temporal.ChronoField;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // parses a date
        OffsetDateTime date = OffsetDateTime.parse("2018-12-03T12:30:30+01:00");
  
        // Prints the value of the specified
        // field from this date-time as an long.
        System.out.println(date.getLong(ChronoField.CLOCK_HOUR_OF_DAY));
    }
}
输出:
12

方案二

// Java program to demonstrate the getDayOfYear() method
// exceptions
  
import java.time.OffsetDateTime;
import java.time.temporal.ChronoField;
  
public class GFG {
    public static void main(String[] args)
    {
        try {
            // parses a date
            OffsetDateTime date = OffsetDateTime.parse("2018-24-03T12:30:30+01:00");
  
            // Prints the value of the specified
            // field from this date-time as an long.
            System.out.println(date.getLong(ChronoField.CLOCK_HOUR_OF_DAY));
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
输出:
java.time.format.DateTimeParseException: 
Text '2018-24-03T12:30:30+01:00' could not be parsed: 
Invalid value for MonthOfYear (valid values 1 - 12): 24

参考:https: Java/time/temporal/TemporalField.html