OffsetDateTime withDayOfYear() method in Java with examples

The withDayOfYear() method of OffsetDateTime class in Java returns a copy of this OffsetDateTime with the year-of-month altered as specified in the parameter.
Syntax:
public OffsetDateTime withDayOfYear(int dayOfYear)
Parameter: This method accepts a single parameter dayOfYear which specifies the day-of-year to be set in the result which can range from 1 to 365-366.
Return Value: It returns a OffsetDateTime based on this date with the requested day of year and not null.
Exceptions: The program throws a DateTimeException when the day-of-year value is invalid or if the day-of-year is invalid for the month of that particular year.
Below programs illustrate the withDayOfYear() method:
Program 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
Program 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
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withDayOfYear(int)



