Java中的 ChronoLocalDateTime query() 方法及示例
ChronoLocalDateTime接口的query()方法用于使用指定的查询作为参数查询此 ChronoLocalDateTime。作为参数传递的 TemporalQuery 对象定义了用于从该 ChronoLocalDateTime 获取结果的逻辑。
句法:
default R query(TemporalQuery query)
参数:此方法只接受一个参数查询,即要调用的查询。
返回值:该方法返回查询结果,可能返回null。
异常:此方法抛出以下异常:
- DateTimeException – 如果无法查询。
- ArithmeticException – 如果发生数字溢出。
下面的程序说明了 query() 方法:
方案一:
// Java program to demonstrate
// ChronoLocalDateTime.query() method
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoLocalDateTime object
ChronoLocalDateTime lt
= LocalDateTime.parse(
"2018-10-25T23:12:31.123");
// apply query() method
// of ChronoLocalDateTime interface
String value
= lt.query(
TemporalQueries.precision())
.toString();
// print the result
System.out.println("Precision value"
+ " for ChronoLocalDateTime is "
+ value);
}
}
输出:
Precision value for ChronoLocalDateTime is Nanos
程序 2:显示如果查询没有找到所需的对象,则返回 null。
// Java program to demonstrate
// ChronoLocalDateTime.query() method
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// create ChronoLocalDateTime object
ChronoLocalDateTime lt
= LocalDateTime.parse(
"2018-10-25T23:12:31.123");
// apply query() method
// of ChronoLocalDateTime interface
// and print the result
System.out.println("offset value "
+ "for ChronoLocalDateTime is "
+ lt.query(TemporalQueries.offset()));
}
}
输出:
offset value for ChronoLocalDateTime is null
参考资料: https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/ChronoLocalDateTime.html#query-java.time.temporal.TemporalQuery-