Close

Java Date Time - OffsetTime.query() Examples

Java Date Time Java Java API 


Class:

java.time.OffsetTime

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

Method:

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

Examples


This example uses implementations of TemporalQuery provided in class TemporalQueries.

package com.logicbig.example.offsettime;

import java.time.LocalTime;
import java.time.OffsetTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.temporal.TemporalQueries;
import java.time.temporal.TemporalUnit;

public class QueryExample {

public static void main(String... args) {
OffsetTime d = OffsetTime.of(18, 20, 30, 100,
ZoneOffset.ofHours(-6));

LocalTime t = d.query(TemporalQueries.localTime());
System.out.println(t);

ZoneOffset z = d.query(TemporalQueries.offset());
System.out.println(z);

TemporalUnit p = d.query(TemporalQueries.precision());
System.out.println(p);

ZoneId z2 = d.query(TemporalQueries.zone());
System.out.println(z2);
}
}

Output

18:20:30.000000100
-06:00
Nanos
-06:00




A custom TemporalQuery example.

package com.logicbig.example.offsettime;

import java.time.LocalTime;
import java.time.OffsetTime;
import java.time.ZoneOffset;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalQuery;

public class QueryExample2 {

public static void main(String... args) {
OffsetTime d = OffsetTime.of(11, 55, 30, 100,
ZoneOffset.ofHours(-4));

Boolean b = d.query(ValidTimeQuery);
System.out.println(b);
}

public static final TemporalQuery<Boolean> ValidTimeQuery = new TemporalQuery<Boolean>() {
@Override
public Boolean queryFrom(TemporalAccessor temporal) {
//check if the underlying time is in afternoon.
OffsetTime t = OffsetTime.from(temporal);
OffsetTime noon = OffsetTime.of(LocalTime.NOON, t.getOffset());
return t.isAfter(noon);
}
};
}

Output

false




See Also