El método atDay() de la clase Year en Java combina el año actual con un día del año pasado como parámetro para crear una LocalDate.
Sintaxis :
public LocalDate atDay(int dayOfYear)
Parámetro : este método acepta un solo parámetro dayOfYear. Es el día del año a utilizar. Puede tomar valores de 1 a 365-366.
Valor de Retorno : Devuelve una Fecha Local formada por el año actual y una fecha del año pasado como parámetro a la función.
Excepción : este método arroja una DateTimeException si el día del año pasado en el parámetro no es válido, es decir, cero o menos, 366 o más o igual a 366 y el año actual no es un año bisiesto.
Los siguientes programas ilustran el método atDay() de Year 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 Year object Year thisYear = Year.of(2017); // Creates a local date with this // Year object and day passed to it LocalDate date = thisYear.atDay(31); System.out.println(date); } }
2017-01-31
Programa 2 : Para ilustrar Excepción.
Java
// Program to illustrate the atDay() 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 local date with this // Year object and day passed to it try { LocalDate date = thisYear.atDay(367); System.out.println(date); } catch (Exception e) { System.out.println(e); } } }
java.time.DateTimeException: Invalid value for DayOfYear (valid values 1 - 365/366): 367
Referencia : https://docs.oracle.com/javase/8/docs/api/java/time/Year.html#atDay-int-