El método withDayOfYear() de la clase OffsetDateTime en Java devuelve una copia de este OffsetDateTime con el año del mes modificado como se especifica en el parámetro.
Sintaxis:
public OffsetDateTime withDayOfYear(int dayOfYear)
Parámetro: este método acepta un solo parámetro dayOfYear que especifica el día del año que se establecerá en el resultado, que puede oscilar entre 1 y 365-366.
Valor devuelto: Devuelve un OffsetDateTime basado en esta fecha con el día del año solicitado y no nulo.
Excepciones : el programa lanza una DateTimeException cuando el valor del día del año no es válido o si el día del año no es válido para el mes de ese año en particular.
Los siguientes programas ilustran el método withDayOfYear() :
Programa 1:
// Java program to demonstrate the withDayOfYear() method import java.time.OffsetDateTime; import java.time.ZonedDateTime; public class GFG { public static void main(String[] args) { // Parses the date1 OffsetDateTime date1 = OffsetDateTime .parse( "2018-12-12T13:30:30+05:00"); // Prints dates System.out.println("Date1: " + date1); // Changes the day of year System.out.println("Date1 after altering day-of-year: " + date1.withDayOfYear(32)); } }
Date1: 2018-12-12T13:30:30+05:00 Date1 after altering day-of-year: 2018-02-01T13:30:30+05:00
Programa 2:
// Java program to demonstrate the withDayOfYear() method import java.time.OffsetDateTime; public class GFG { public static void main(String[] args) { try { // Parses the date1 OffsetDateTime date1 = OffsetDateTime .parse( "2018-12-12T13:30:30+05:00"); // Prints dates System.out.println("Date1: " + date1); // Changes the day of year System.out.println("Date1 after altering day-of-year: " + date1.withDayOfYear(367)); } catch (Exception e) { System.out.println("Exception: " + e); } } }
Date1: 2018-12-12T13:30:30+05:00 Exception: java.time.DateTimeException: Invalid value for DayOfYear (valid values 1 - 365/366): 367
Referencia : https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withDayOfYear(int)