Java LocalDate of()

In this guide, you will learn about the LocalDate of() method in Java programming and how to use it with an example.

1. LocalDate of() Method Overview

Definition:

The LocalDate.of() method in Java belongs to the java.time.LocalDate class. It is used to obtain an instance of LocalDate from a year, month, and day. If the day of the month is invalid for the specified month and year, a DateTimeException will be thrown.

Syntax:

public static LocalDate of(int year, Month month, int dayOfMonth)
public static LocalDate of(int year, int month, int dayOfMonth)

Parameters:

- year: the year to represent, from MIN_YEAR to MAX_YEAR

- month: the month-of-year to represent, either as an enum Month or an integer from 1 (January) to 12 (December)

- dayOfMonth: the day-of-month to represent, from 1 to 31

Key Points:

- The of() method is used to create an instance of LocalDate representing a specific date.

- The resulting LocalDate object is immutable and thread-safe.

- The method throws a DateTimeException if the specified date is not a valid date.

- The LocalDate class is part of the java.time package, introduced in Java 8.

2. LocalDate of() Method Example

import java.time.LocalDate;
import java.time.Month;

public class LocalDateOfExample {
    public static void main(String[] args) {
        // Create a LocalDate object representing a specific date using the of() method
        LocalDate date1 = LocalDate.of(2023, Month.SEPTEMBER, 20);
        LocalDate date2 = LocalDate.of(2023, 9, 20);

        // Print the LocalDate objects
        System.out.println("Date1: " + date1);
        System.out.println("Date2: " + date2);
    }
}

Output:

Date1: 2023-09-20
Date2: 2023-09-20

Explanation:

In this example, two LocalDate objects representing the same specific date (20th September 2023) are created using different overloaded versions of the of() method. 

The first one uses the Month enum to specify the month, and the second one uses an integer. 

Both LocalDate objects are then printed to the console, and as expected, they represent the same date.

Comments