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

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

Java中的 ChronoZonedDateTime query() 方法和示例

ChronoZonedDateTime接口的query()方法,用于使用指定的查询作为参数查询此 ChronoZonedDateTime。作为参数传递的 TemporalQuery 对象定义用于从该 ChronoZonedDateTime 获取结果的逻辑。

句法:

default  R query(TemporalQuery query)

参数:此方法只接受一个参数查询,即要调用的查询。

返回值:该方法返回查询结果,可能返回null。

异常:此方法抛出以下异常:

  • DateTimeException – 如果无法查询。
  • ArithmeticException – 如果发生数字溢出。

下面的程序说明了 query() 方法:

方案一:

// Java program to demonstrate
// ChronoZonedDateTime.query() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create ChronoZonedDateTime object
        ChronoZonedDateTime zlt
            = ZonedDateTime.parse(
                "2018-10-25T23:12:31.123+02:00[Europe/Paris]");
  
        // apply the query method of ChronoZonedDateTime class
        String value
            = zlt.query(
                     TemporalQueries.precision())
                  .toString();
  
        // print the result
        System.out.println("Precision value"
                           + " for ChronoZonedDateTime is "
                           + value);
    }
}
输出:
Precision value for ChronoZonedDateTime is Nanos

方案二:

// Java program to demonstrate
// ChronoZonedDateTime.query() method
  
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create ChronoZonedDateTime object
        ChronoZonedDateTime zlt
            = ZonedDateTime.parse(
                "2018-10-25T23:12:31.123+02:00[Europe/Paris]");
  
        // apply query method of ChronoZonedDateTime class
        // print the result
        System.out.println("offset value for "
                           + "ChronoZonedDateTime is "
                           + zlt.query(
                                 TemporalQueries.offset()));
    }
}
输出:
offset value for ChronoZonedDateTime is +02:00

参考资料: https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/ChronoZonedDateTime.html#query-java.time.temporal.TemporalQuery-