Java Program to Get Current Date/TIme

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?