El método withDayOfYear() de la clase LocalDate en Java devuelve una copia de esta LocalDate con el día del año alterado.
Sintaxis:
public LocalDate withDayOfYear(int dayOfYear)
Parámetro: este método acepta un parámetro obligatorio dayOfYear que especifica el día del año para establecer en el resultado, de 1 a 365-366.
Devoluciones: la función devuelve un LocalDate basado en esta fecha con el día solicitado, no nulo.
Excepciones : la función lanza una excepción DateTimeException cuando el valor del día del año no es válido.
Los siguientes programas ilustran el método LocalDate.withDayOfYear() :
Programa 1:
// Program to illustrate the withDayOfYear() method import java.util.*; import java.time.*; public class GfG { public static void main(String[] args) { // Parses the date LocalDate dt1 = LocalDate.parse("2018-12-07"); LocalDate result = dt1.withDayOfYear(01); // Prints the date with year System.out.println("The date with day of year is: " + result); } }
Producción:
The date with day of year is: 2018-01-01
Programa 2:
// Program to illustrate the withDayOfYear() method // Exceptions import java.util.*; import java.time.*; import java.time.temporal.ChronoField; public class GfG { public static void main(String[] args) { try { // Parses the date LocalDate dt1 = LocalDate.parse("2018-12-07"); LocalDate result = dt1.withDayOfYear(370); // Prints the date with year System.out.println("The date with month is: " + result); } catch (Exception e) { System.out.println(e); } } }
Producción:
java.time.DateTimeException: Invalid value for DayOfYear (valid values 1 - 365/366): 370
Referencia: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#withDayOfYear(int)