Close

Java Date Time - Year.query() Examples

Java Date Time Java Java API 


Class:

java.time.Year

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

Method:

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

Queries this year using the specified query.


Examples


package com.logicbig.example.year;

import java.time.Year;
import java.time.chrono.Chronology;
import java.time.temporal.TemporalQueries;
import java.time.temporal.TemporalUnit;

public class QueryExample {

public static void main(String... args) {
Year y = Year.of(2011);
System.out.println(y);

Chronology c = y.query(TemporalQueries.chronology());
System.out.println(c);

TemporalUnit u = y.query(TemporalQueries.precision());
System.out.println(u);
}
}

Output

2011
ISO
Years




A custom temporal query example.

package com.logicbig.example.year;

import java.time.Year;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQuery;

public class QueryExample2 {

public static void main(String... args) {
Year y = Year.of(1900);
Boolean b = y.query(firstWorldWarPeriodQuery);
System.out.println(b);

Year y2 = Year.of(1915);
Boolean b2 = y2.query(firstWorldWarPeriodQuery);
System.out.println(b2);
}

private static final TemporalQuery<Boolean> firstWorldWarPeriodQuery = temporal -> {
if (temporal.isSupported(ChronoField.YEAR)) {
long l = temporal.getLong(ChronoField.YEAR);
return l > 1914 && l < 1918;
}
return false;
};
}

Output

false
true




See Also