Java OffsetDateTime getLong()方法及示例
Java中OffsetDateTime类的 getLong() 方法从这个日期时间中获取指定字段的值,作为一个long。
语法:
public long getLong(TemporalField field)
参数: 该方法接受一个单一的参数 field ,指定要获得的字段,不为空。
返回值: 它返回该字段的值。
异常 :该函数抛出三种异常,描述如下。
- DateTimeException :如果不能获得字段的值,或者该值超出了该字段的有效值范围,就会抛出这种异常。
- UnsupportedTemporalTypeException :如果该字段不被支持或者数值范围超过了一个长值,就会抛出这个异常。
- 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
程序2 :
// 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://docs.oracle.com/javase/8/docs/api/java/time/temporal/TemporalField.html