Solved: java age from date

age from dateIn today’s world, calculating age from a certain date is a common task, especially in applications where age verification or birthday notifications are important features. We often need to calculate a person’s age based on their date of birth. In this article, we will discuss how to calculate age from a given date using Java. We will go through a step-by-step explanation of the code, and delve into various aspects related to the problem, such as libraries and functions involved.

To solve the problem of calculating age from a date, we can use Java’s built-in classes such as LocalDate and Period. These classes are part of the Java Time API introduced in Java 8, which is designed to simplify date and time calculations.

import java.time.LocalDate;
import java.time.Period;

public class AgeCalculator {

    public static void main(String[] args) {
        LocalDate birthDate = LocalDate.of(1990, 1, 1);
        LocalDate currentDate =;
        int age = calculateAge(birthDate, currentDate);
        System.out.println("Age: " + age);

    public static int calculateAge(LocalDate birthDate, LocalDate currentDate) {
        Period period = Period.between(birthDate, currentDate);
        return period.getYears();

Let’s break down the code step by step. First, we import the necessary classes, LocalDate and Period. We then create a class called AgeCalculator with a main method that initializes the birth date and current date using the LocalDate class. The `calculateAge` method is then called with the provided birth and current dates as arguments.

Inside the `calculateAge` method, we use the `Period.between()` method, which calculates the period between the two dates. Finally, we return the difference in years by calling the `getYears()` method on the calculated period.

Java Time API

The Java Time API, also known as the Java Date and Time API, is a powerful library introduced in Java 8 for handling date and time-related tasks. It is designed to be more intuitive, robust, and easy to use than its predecessor, the java.util.Date and Calendar classes, which had numerous issues and limitations.

Some of the key features of the Java Time API include:

  • Immutable and thread-safe classes.
  • Clear separation between human-readable date and time representation and machine time representation.
  • Flexible and extendable API to support different calendars and timekeeping systems.
  • Built-in support for time zones and daylight saving time.

Using Period and LocalDate

The Period class in Java represents a period of time expressed in years, months, and days. It is a useful class for calculating the difference between two dates, as shown in our age calculation example.

The LocalDate class, on the other hand, represents a date without time and time-zone information. It is useful for representing birth dates, event dates, or any other date where time information is not necessary.

In our age calculation example, we used the `Period.between()` method to calculate the difference between the two LocalDate instances – the birth date and the current date. The resulting Period object provides us with the difference in years, months, and days between the two dates, making it easy to calculate a person’s age.

In conclusion, calculating age from a date can be easily achieved using Java’s built-in classes like LocalDate and Period. These classes, along with the wider Java Time API, offer a powerful and flexible solution to handling date and time calculations in your Java applications.

Related posts:

Leave a Comment