ChronoLocalDate range() method in Java with Examples

The range() method of a ChronoLocalDate interface is used to get the range of valid values for the field passes as a parameter. This method returns a ValueRange object which contains the minimum and maximum valid values for a field. When the field is not supported then an exception is thrown. This ChronoLocalDate is helpful to enhance the accuracy of the returned range.

Syntax:

public ValueRange range(TemporalField field)

Parameters: This method accepts one single parameter field which is the field to query the range for.



Return value: This method returns ValueRange which is the range of valid values for the field, not null.

Exception: This method throws following Exceptions:

  • DateTimeException – if the range for the field cannot be obtained.
  • UnsupportedTemporalTypeException – if the field is not supported.

Below programs illustrate the range() method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// ChronoLocalDate.range() method
  
import java.time.*;
import java.time.temporal.*;
import java.time.chrono.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ChronoLocalDate object
        ChronoLocalDate localD
            = LocalDate.parse("2018-12-06");
  
        // print ChronoLocalDate
        System.out.println("ChronoLocalDate: "
                           + localD);
  
        // get range of Days field
        // from ChronoLocalDate using range method
        ValueRange range
            = localD.range(ChronoField.DAY_OF_MONTH);
  
        // print range of DAY_OF_MONTH
        System.out.println("Range of DAY_OF_MONTH: "
                           + range);
    }
}

chevron_right


Output:

ChronoLocalDate: 2018-12-06
Range of DAY_OF_MONTH: 1 - 31

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// ChronoLocalDate.range() method
  
import java.time.*;
import java.time.temporal.*;
import java.time.chrono.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a ChronoLocalDate object
        ChronoLocalDate localD
            = LocalDate.parse("2018-12-06");
  
        // print ChronoLocalDate
        System.out.println("ChronoLocalDate: "
                           + localD);
  
        // get range of DAY_OF_YEAR field
        // from ChronoLocalDate using range method
        ValueRange range
            = localD.range(ChronoField.DAY_OF_YEAR);
  
        // print range of DAY_OF_YEAR
        System.out.println("Range of DAY_OF_YEAR: "
                           + range);
    }
}

chevron_right


Output:

ChronoLocalDate: 2018-12-06
Range of DAY_OF_YEAR: 1 - 365

Reference: https://docs.oracle.com/javase/9/docs/api/java/time/temporal/TemporalAccessor.html#range-java.time.temporal.TemporalField-



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.