Close

Java Date Time - DayOfWeek.query() Examples

Java Date Time Java Java API 


Class:

java.time.DayOfWeek

java.lang.Objectjava.lang.Objectjava.lang.Enumjava.lang.Enumjava.lang.ComparableComparablejava.io.SerializableSerializablejava.time.DayOfWeekjava.time.DayOfWeekjava.time.temporal.TemporalAccessorTemporalAccessorjava.time.temporal.TemporalAdjusterTemporalAdjusterLogicBig

Method:

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

Returns the query result R from the specified query (TemporalQuery) object.

TemporalQuery is a functional interface whose method queryFrom(TemporalAccessor) is invoked as a result of the 'query' method call. queryFrom(TemporalAccessor) method is passed with 'this' as the TemporalAccessor instance.


Examples:


This example uses a predefined query from TemporalQueries class.

package com.logicbig.example.dayofweek;

import java.time.DayOfWeek;
import java.time.temporal.TemporalQueries;
import java.time.temporal.TemporalUnit;

public class QueryExample {
public static void main (String[] args) {
DayOfWeek d = DayOfWeek.FRIDAY;
TemporalUnit u = d.query(TemporalQueries.precision());
System.out.println(u);
}
}

Output

Days




This example creates a custom query which finds out if underlying TemporalAccessor object is at weekend.

package com.logicbig.example.dayofweek;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQuery;

public class QueryExample2 {
public static void main (String[] args) {
DayOfWeek d = LocalDate.of(1990, Month.DECEMBER, 2)
.minusYears(1)
.getDayOfWeek();
Boolean b = d.query(getWeekEndQuery());
System.out.println(b);

b = DayOfWeek.MONDAY.query(getWeekEndQuery());
System.out.println(b);

b = LocalDate.of(200, Month.JULY, 15)
.query(getWeekEndQuery());
System.out.println(b);

b = YearMonth.of(2005, Month.DECEMBER)
.query(getWeekEndQuery());
System.out.println(b);
}

public static TemporalQuery<Boolean> getWeekEndQuery () {
return temporal -> {
if (temporal.isSupported(ChronoField.DAY_OF_WEEK)) {
int i = temporal.get(ChronoField.DAY_OF_WEEK);
return i > 5;
}
return null;
};
}
}

Output

true
false
false
null




See Also