How to convert date in String to Date Object

Whenever a user enters a date information, we get that as String type. There is a need to convert this String to java.util.Date Object.

Here is where, Java provides a class called SimpleDateFormat available in java.text package which allows for date formatting (date -> text) through format() method and parsing (text -> date) through parse() method.

In this tutorial, we will convert the String in a particular date format to java.util.Date object.

1. Assume the date text (got from user or by any other means) is available in String variable.

String myDateStr = "04/23/2011";

2. Create a SimpleDateFormat object by using the constructor,

public SimpleDateFormat(String pattern)

Constructs a SimpleDateFormat using the given pattern and the default date format symbols for the default locale. Note: This constructor may not support all locales. For full coverage, use the factory methods in the DateFormat class.

Parameters:
pattern – the pattern describing the date and time format

String pattern = "MM/dd/yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(pattern);

3. Now use the parse() method to convert the date in text format to Date object.

Date myDateObj = formatter.parse(myDateStr);

The parse() method throws ParseException. So either surround with try/catch block or add throws statement in the method signature.

Complete Code:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringToDate {
	public static void main(String[] args) {
		String myDateStr = "04/23/2011";
		String pattern = "MM/dd/yyyy";
		SimpleDateFormat formatter = new SimpleDateFormat(pattern);
		Date myDateObj = null;
		try {
			myDateObj = formatter.parse(myDateStr);
			System.out.println("Date in text format: " + myDateStr);
			System.out.println("Date in java.util.Date Obj : " + myDateObj);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}

For converting Date to String refer this tutorial.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.