Close

Java Date Time - LocalTime.query() Examples

Java Date Time Java Java API 


Class:

java.time.LocalTime

java.lang.Objectjava.lang.Objectjava.time.LocalTimejava.time.LocalTimejava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.lang.ComparableComparablejava.io.SerializableSerializableLogicBig

Method:

public <R> R query(TemporalQuery<R> query)

This method queries this date-time using the provided query object and returns the query result of type R.



Examples


package com.logicbig.example.localtime;

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.chrono.Chronology;
import java.time.temporal.TemporalQueries;
import java.time.temporal.TemporalUnit;

public class QueryExample {

public static void main (String... args) {
LocalTime t = LocalTime.of(20, 10, 20, 5000);

TemporalUnit a = t.query(TemporalQueries.precision());
System.out.printf("precision: %s%n", a);

LocalTime t2 = t.query(TemporalQueries.localTime());
System.out.printf("localTime: %s%n", t2);


LocalDate d = t.query(TemporalQueries.localDate());
System.out.printf("localDate: %s%n", d);

ZoneOffset o = t.query(TemporalQueries.offset());
System.out.printf("ZoneOffset: %s%n", o);

ZoneId z = t.query(TemporalQueries.zone());
System.out.printf("zone: %s%n", z);

ZoneId i = t.query(TemporalQueries.zoneId());
System.out.printf("zoneId: %s%n", i);

Chronology c = t.query(TemporalQueries.chronology());
System.out.printf("chronology: %s%n", c);
}
}

Output

precision: Nanos
localTime: 20:10:20.000005
localDate: null
ZoneOffset: null
zone: null
zoneId: null
chronology: null




This example creates a custom TemporalQuery.

package com.logicbig.example.localtime;

import java.time.LocalTime;
import java.time.temporal.TemporalQuery;

public class QueryExample2 {

public static void main (String... args) {
LocalTime t = LocalTime.of(20, 10, 20, 5000);
Boolean b = t.query(WorkingHoursQuery);
System.out.printf("Is %s working time: %s%n", t, b);

t = LocalTime.of(15, 10, 20);
b = t.query(WorkingHoursQuery);
System.out.printf("Is %s working time: %s%n", t, b);

}

private static final TemporalQuery<Boolean> WorkingHoursQuery =
temporal -> {
LocalTime t = LocalTime.from(temporal);
return t.compareTo(LocalTime.of(9, 0)) >= 0 &&
t.compareTo(LocalTime.of(17, 0)) < 0;
};
}

Output

Is 20:10:20.000005 working time: false
Is 15:10:20 working time: true




See Also