Java Instant query()方法及实例
Instant 类的 query() 方法用于使用指定的查询作为参数来查询这个瞬间。作为参数传递的TemporalQuery对象定义了用于从这个瞬间获得结果的逻辑。
语法
public <R> R query(TemporalQuery<R> query)
参数: 该方法只接受一个参数 query ,它是要调用的查询。
返回值 :该方法返回查询结果,可能返回空值。
异常: 该方法抛出以下异常。
- DateTimeException – 如果无法查询。
- ArithmeticException – 如果发生数字溢出。
下面的程序说明了query()方法。
程序1 :
// Java program to demonstrate
// Instant.query() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create Instant object
Instant instant
= Instant.parse("2018-12-31T10:15:30.00Z");
// apply query method of Instant class
String value
= instant.query(TemporalQueries.precision())
.toString();
// print the result
System.out.println("Precision value for Instant is "
+ value);
}
}
输出:
Precision value for Instant is Nanos
程序2: 显示如果查询没有找到需要的对象,则返回null。
// Java program to demonstrate
// Instant.query() method
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create Instant object
Instant instant
= Instant.parse("2018-12-31T10:15:30.00Z");
// apply query method of Instant class
// print the result
System.out.println("Zone value for Instant is "
+ instant.query(TemporalQueries.offset()));
}
}
输出:
Zone value for Instant is null
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#query(java.time.temporal.TemporalQuery)