The TemporalQueries Class provides common implementations of querying the temporal objects. The implementation defines the logic of the query. Queries are a key tool for retrieving information from temporal objects. For example, a query that checks if the date is the day before February 29th in a leap year, or determine if time lies between business hours or not.
There are two equivalent ways of using a TemporalQuery:
1. Invoke the method on this interface directly:
temporal = thisQuery.queryFrom(temporal);
2. use TemporalAccessor.query(TemporalQuery):
temporal = temporal.query(thisQuery);
Class declaration:
public final class TemporalQueries extends Object
 TemporalQueries Class inherits following methods from class java.lang.Object:
- clone()
- equals()
- finalize()
- getClass()
- hashCode()
- notify()
- notifyAll()
- toString()
- wait()
Methods of TemporalQueries Class:
| Method | Description |
|---|---|
| chronology() | This method returns a query for the Chronology. |
| localDate() | This method returns a query for LocalDate returning null if not found. |
| localTime() | This method returns a query for LocalTime returning null if not found. |
| offset() | This method returns a query for ZoneOffset returning null if not found. |
| precision() | This method returns a query for the smallest supported unit. |
| zone() | This method returns a lenient query for the ZoneId, falling back to the ZoneOffset. |
| zoneId() | This method returns a lenient query for the ZoneId, falling back to the ZoneOffset. |
Java
// Java program to demonstrate// TemporalQueries Classimport java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.Year;import java.time.YearMonth;import java.time.temporal.TemporalQueries;import java.time.temporal.TemporalQuery;import java.time.temporal.TemporalUnit;public class GFG {        public static void main(String[] args)    {          // creating a query to obtainsmallest supported unit        // of a temporal        TemporalQuery<TemporalUnit> precision            = TemporalQueries.precision();          System.out.println("TemporalQueries precision: ");          // print smallest precision of local date        System.out.println(            LocalDate.now().query(precision));          // print smallest precision of local time        System.out.println(            LocalTime.now().query(precision));          // print smallest precision of local date-time        System.out.println(            LocalDateTime.now().query(precision));          // print smallest precision of year-month        System.out.println(            YearMonth.now().query(precision));          // print smallest precision of year        System.out.println(Year.now().query(precision));    }} |
TemporalQueries precision: Days Nanos Nanos Months Years
