Java Program to Convert String to Date

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


Example 1: Convert String to Date using predefined formatters

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class TimeString {

    public static void main(String[] args) {
        // Format y-M-d or yyyy-MM-d
        String string = "2017-07-25";
        LocalDate date = LocalDate.parse(string, DateTimeFormatter.ISO_DATE);

        System.out.println(date);
    }
}

Output

2017-07-25

In the above program, we've used the predefined formatter ISO_DATE that takes date string in the format 2017-07-25 or 2017-07-25+05:45'.

The LocalDate's parse() function parses the given string using the given formatter. You can also remove the ISO_DATE formatter in the above example and replace the parse() method with:

LocalDate date = LocalDate.parse(string, DateTimeFormatter);

Example 2: Convert String to Date using pattern formatters

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class TimeString {

    public static void main(String[] args) {
        String string = "July 25, 2017";

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
        LocalDate date = LocalDate.parse(string, formatter);

        System.out.println(date);
    }
}

Output

2017-07-25

In the above program, our date is in the format MMMM d, yyyy. So, we create a formatter of the given pattern. Check all DateTimeFormatter patterns, if you're interested.

Now, we can parse the date using LocalDate.parse() function and get the LocalDate object.

Did you find this article helpful?