Close

Java Date Time - LocalDateTime.range() Examples

Java Date Time Java Java API 


Class:

java.time.LocalDateTime

java.lang.Objectjava.lang.Objectjava.time.LocalDateTimejava.time.LocalDateTimejava.time.temporal.TemporalTemporaljava.time.temporal.TemporalAdjusterTemporalAdjusterjava.time.chrono.ChronoLocalDateTimeChronoLocalDateTimejava.io.SerializableSerializableLogicBig

Method:

public ValueRange range(TemporalField field)

This method returns ValueRange 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.localdatetime;

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

public class RangeExample {

public static void main (String... args) {
LocalDateTime d = LocalDateTime.of(2016, 12, 10,
14, 30);

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

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

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

}

Output

MILLI_OF_DAY: 0 - 86399999
SECOND_OF_MINUTE: 0 - 59
HOUR_OF_DAY: 0 - 23




package com.logicbig.example.localdatetime;

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

public class RangeExample2 {

public static void main (String... args) {
LocalDateTime d = LocalDateTime.of(2016, 12, 10,
14, 30);

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

Output

Caused by: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds
at java.time.LocalDate.range(LocalDate.java:587)
at java.time.LocalDateTime.range(LocalDateTime.java:651)
at com.logicbig.example.localdatetime.RangeExample2.main(RangeExample2.java:18)
... 6 more




package com.logicbig.example.localdatetime;

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

public class RangeExample3 {

public static void main (String... args) {
LocalDateTime d = LocalDateTime.of(2016, 12, 10,
14, 30);

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

int n = 100000000;
if (r.isValidIntValue(n)) {
System.out.println(d.withNano(n));
}
}

}

Output





See Also