The atMonth(int) method of Year class in Java combines the current year object with a month passed as parameter to it to create a YearMonth object.
Syntax:
public YearMonth atMonth(int month)
Parameter: This method accepts a single parameter month. It is the month-of-year to use. It takes an integer value between 1 and 12 and cannot be NULL.
Return Value: It returns a YearMonth object formed by the current year object and a valid month passed as parameter to the function.
Exception: This method throws a DateTimeException, if the month passed to it as parameter is invalid.
Below programs illustrate the atMonth(int) method of Year in Java:
Program 1:
// Program to illustrate the atMonth(int) method   import java.util.*; import java.time.*;   public class GfG {     public static void main(String[] args)     {         // Creates a Year object         Year thisYear = Year.of( 2017 );           // Creates a YearMonth with this         // Year object and Month passed to it         YearMonth yearMonth = thisYear.atMonth( 4 );           System.out.println(yearMonth);     } } |
2017-04
Program 2: To illustrate Exception.
// Program to illustrate the atMonth(int) method   import java.util.*; import java.time.*;   public class GfG {     public static void main(String[] args)     {         // Creates a Year object         Year thisYear = Year.of( 2018 );           try {             // Creates a YearMonth with this             // Year object and Month passed to it             YearMonth yearMonth = thisYear.atMonth( 16 );               System.out.println(yearMonth);         }         catch (Exception e) {             System.out.println(e);         }     } } |
java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 16
Reference: https://docs.oracle.com/javase/8/docs/api/java/time/Year.html#atMonth-