Java Program to Get Current Date/TIme

In this program, you'll learn to get the current date and time in different formats in Java.

To understand this example, you should have the knowledge of the following Java programming topics:


Example 1: Get Current date and time in default format

import java.time.LocalDateTime;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        System.out.println("Current Date and Time is: " + current);
    }
}

Output

Current Date and Time is: 2017-08-02T11:25:44.973

In the above program, the current date and time is stored in variable current using LocalDateTime.now() method.

For default format, it is simply converted from a LocalDateTime object to a string internally using a toString() method.


Example 2: Get Current date and time with pattern

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        String formatted = current.format(formatter);

        System.out.println("Current Date and Time is: " + formatted);
    }
}

Output

Current Date and Time is: 2017-08-02 11:29:57.401

In the above program, we've defined a pattern of format Year-Month-Day Hours:Minutes:Seconds.Milliseconds using a DateTimeFormatter object.

Then, we've used LocalDateTime's format() method to use the given formatter. This gets us the formatted string output.


Example 3: Get Current Date time using predefined constants

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.BASIC_ISO_DATE;
        String formatted = current.format(formatter);

        System.out.println("Current Date is: " + formatted);
    }
}

Output

Current Date is: 20170802

In the above program, we've used a predefined format constant BASIC_ISO_DATE to get the current ISO date as the output.


Example 4: Get Current Date time in localized style

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;

public class CurrentDateTime {

    public static void main(String[] args) {
        LocalDateTime current = LocalDateTime.now();

        DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
        String formatted = current.format(formatter);

        System.out.println("Current Date is: " + formatted);
    }
}

Output

Current Date is: Aug 2, 2017 11:44:19 AM

In the above program, we've used a Localized style Medium to get the current date-time in the given format. There are other styles as well: Full, Long and Short.


If you're interested, here's a list of all DateTimeFormatter patterns.

Did you find this article helpful?