YearMonth atDay() method in Java

The atDay() method of YearMonth class in Java combines the current year-month with a day-of-month passed as parameter to it to create a LocalDate.

Syntax:

public LocalDate atDay(int dayOfMonth)

Parameter: This method accepts a single parameter dayOfMonth. It is the day-of-month to use. It can take values from 1 to 31.



Return Value: It returns a Local Date formed by the current year-month and a day of month passed as parameter to the function.

Exception: This method throws a DateTimeException, if the day of month passed in the parameter is not valid.

Below programs illustrate the atDay() method of YearMonth in Java:
Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Programt to illustrate the atDay() method
  
import java.util.*;
import java.time.*;
  
public class GfG {
    public static void main(String[] args)
    {
  
        // Creates a YearMonth object
        YearMonth thisYearMonth = YearMonth.of(2017, 8);
  
        // Creates a local date with this
        // YearMonth object and day passed to it
        LocalDate date = thisYearMonth.atDay(31);
  
        System.out.println(date);
    }
}

chevron_right


Output:

2017-08-31

Program 2: To illustrate Exception. The below program throws an exception as September is of 30 days and not 31 days.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Programt to illustrate the atDay() method
  
import java.util.*;
import java.time.*;
  
public class GfG {
    public static void main(String[] args)
    {
  
        // Creates a YearMonth object
        YearMonth thisYearMonth = YearMonth.of(2017, 9);
  
        try {
            // Creates a local date with this
            // YearMonth object and day passed to it
            LocalDate date = thisYearMonth.atDay(31);
  
            System.out.println(date);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}

chevron_right


Output:

java.time.DateTimeException: Invalid date 'SEPTEMBER 31'

Reference: https://docs.oracle.com/javase/8/docs/api/java/time/YearMonth.html#atDay-int-



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.