OffsetDateTime withMonth() method in Java with examples

The withMonth() method of OffsetDateTime class in Java returns a copy of this OffsetDateTime with the month-of-year altered as specified in the parameter.

Syntax:

public OffsetDateTime withMonth(int month)

Parameter: This method accepts a single parameter month which specifies the month-of-year to be set in the result which can range from 1 to 12.

Return Value: It returns a OffsetDateTime based on this date with the requested month-of-year and not null.

Exceptions: The program throws a DateTimeException when the month-of-year value is invalid.



Below programs illustrate the withMonth() method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate the withMonth() 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 month-of-year
        System.out.println("Date1 after altering month-of-year: "
                           + date1.withMonth(10));
    }
}

chevron_right


Output:

Date1: 2018-12-12T13:30:30+05:00
Date1 after altering month-of-year: 2018-10-12T13:30:30+05:00

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate the withMonth() 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 minute of day
            System.out.println("Date1 after altering month-of-year: "
                               + date1.withMonth(27));
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

chevron_right


Output:

Date1: 2018-12-12T13:30:30+05:00
Exception: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 27

Reference: https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withMonth(int)

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.