El método atDay() de la clase YearMonth en Java combina el año-mes actual con un día del mes pasado como parámetro para crear una LocalDate.
Sintaxis :
public LocalDate atDay(int dayOfMonth)
Parámetro : este método acepta un solo parámetro dayOfMonth . Es el día del mes a utilizar. Puede tomar valores del 1 al 31.
Valor de Retorno : Devuelve una Fecha Local formada por el mes-año actual y un día del mes pasado como parámetro a la función.
Excepción : este método arroja una excepción DateTimeException si el día del mes pasado en el parámetro no es válido.
Los siguientes programas ilustran el método atDay() de YearMonth en Java:
Programa 1 :
Java
// Program 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); } }
2017-08-31
Programa 2 : Para ilustrar Excepción. El siguiente programa arroja una excepción ya que septiembre es de 30 días y no de 31 días.
Java
// Program 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); } } }
java.time.DateTimeException: Invalid date 'SEPTEMBER 31'
Referencia : https://docs.oracle.com/javase/8/docs/api/java/time/YearMonth.html#atDay-int-