Close

Java Date Time - LocalDate.range() Examples

Java Date Time Java Java API 


Class:

java.time.LocalDate

java.lang.Objectjava.lang.Objectjava.time.LocalDatejava.time.LocalDatejava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.time.chrono.ChronoLocalDateChronoLocalDatejava.io.SerializableSerializableLogicBig

Method:

public ValueRange range(TemporalField field)

This method returns the range object which has information of the minimum and maximum valid values for the provided field.

If the range for the field is not supported, UnsupportedTemporalTypeException is thrown.


Examples


package com.logicbig.example.localdate;

import java.time.LocalDate;
import java.time.temporal.ChronoField;
import java.time.temporal.ValueRange;

public class RangeExample {

public static void main (String... args) {
LocalDate d = LocalDate.of(2016, 12, 10);
ValueRange r = d.range(ChronoField.DAY_OF_MONTH);
System.out.printf("DAY_OF_MONTH: %s%n", r);

r = d.range(ChronoField.DAY_OF_WEEK);
System.out.printf("DAY_OF_WEEK: %s%n", r);

r = d.range(ChronoField.YEAR);
System.out.printf("YEAR: %s%n", r);

r = d.range(ChronoField.DAY_OF_YEAR);
System.out.printf("DAY_OF_YEAR: %s%n", r);

r = d.range(ChronoField.YEAR_OF_ERA);
System.out.printf("YEAR_OF_ERA: %s%n", r);

r = d.range(ChronoField.EPOCH_DAY);
System.out.printf("EPOCH_DAY: %s%n", r);

r = d.range(ChronoField.PROLEPTIC_MONTH);
System.out.printf("PROLEPTIC_MONTH: %s%n", r);

r = d.range(ChronoField.ERA);
System.out.printf("ERA: %s%n", r);
}
}

Output

DAY_OF_MONTH: 1 - 31
DAY_OF_WEEK: 1 - 7
YEAR: -999999999 - 999999999
DAY_OF_YEAR: 1 - 366
YEAR_OF_ERA: 1 - 999999999
EPOCH_DAY: -365249999634 - 365249999634
PROLEPTIC_MONTH: -11999999988 - 11999999999
ERA: 0 - 1




MINUTE_OF_HOUR is not supported by LocalDate.

package com.logicbig.example.localdate;

import java.time.LocalDate;
import java.time.temporal.ChronoField;
import java.time.temporal.ValueRange;

public class RangeExample2 {

public static void main (String... args) {
LocalDate d = LocalDate.of(2016, 12, 10);
ValueRange r = d.range(ChronoField.MINUTE_OF_HOUR);
System.out.printf("DAY_OF_MONTH: %s%n", r);
}
}

Output

Caused by: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: MinuteOfHour
at java.time.LocalDate.range(LocalDate.java:587)
at com.logicbig.example.localdate.RangeExample2.main(RangeExample2.java:17)
... 6 more




package com.logicbig.example.localdate;

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoField;
import java.time.temporal.ValueRange;

public class RangeExample3 {

public static void main (String... args) {
LocalDate d = LocalDate.of(2000, Month.FEBRUARY, 1);
ValueRange r = d.range(ChronoField.DAY_OF_MONTH);
System.out.printf("Range for DAY_OF_MONTH: %s%n", r);

if (r.isValidIntValue(29)) {
LocalDate d2 = LocalDate.of(d.getYear(), d.getMonth(), 29);
System.out.println(d2);
}
}
}

Output

Range for DAY_OF_MONTH: 1 - 29
2000-02-29




See Also