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

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

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-