Java OffsetDateTime range()方法及示例
OffsetDateTime 类的 range() 方法用于获取ValueRange对象,该对象是作为参数传递给该方法的字段的最小和最大值的范围。该方法只为那些被OffsetDateTime对象支持的字段返回ValueRange对象。因此,当该方法不支持该字段时,该方法会抛出一个异常。
语法
public ValueRange range(TemporalField field)
参数: 该方法接受一个参数字段,该字段是要查询的范围。
返回值: 该方法返回该字段的有效值范围。
异常: 该方法抛出以下异常。
- DateTimeException – 如果不能获得该字段的范围。
- UnsupportedTemporalTypeException – 如果该字段不被支持。
下面的程序说明了range()方法:
程序1 :
// Java program to demonstrate
// OffsetDateTime.range() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create OffsetDateTime objects
OffsetDateTime offsetdateTime
= OffsetDateTime
.parse(
"2018-12-12T13:30:30+05:00");
// apply range() method of OffsetDateTime class
ValueRange result
= offsetdateTime.range(
ChronoField.CLOCK_HOUR_OF_AMPM);
// print results
System.out.println("Range in CLOCK_HOUR_OF_AMPM: "
+ result);
}
}
输出。
Range in CLOCK_HOUR_OF_AMPM: 1 - 12
程序2
// Java program to demonstrate
// OffsetDateTime.range() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create OffsetDateTime objects
OffsetDateTime offsetdateTime
= OffsetDateTime
.parse(
"2018-12-12T13:30:30+05:00");
// apply range() method of OffsetDateTime class
ValueRange result
= offsetdateTime.range(
ChronoField.SECOND_OF_DAY);
// print results
System.out.println("Range in SECOND_OF_DAY: "
+ result);
}
}
输出。
Range in SECOND_OF_DAY: 0 - 86399
**参考资料: ** https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#range(java.time.temporal.TemporalField)