How to convert a date to dd.MM.yyyy format in Java?

51.7k Views Asked by At

How can I convert the date(Mon Jan 12 00:00:00 IST 2015) in the format MM.dd.yyyy or dd.MM.yyyy?

I tried using the below approach

    String dateStr = "Mon Jan 12 00:00:00 IST 2015";

    DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
    System.out.println(formatter.format(dateStr));

but got,

Exception in thread "main" java.lang.IllegalArgumentException: 
Cannot format given Object as a Date
2

There are 2 best solutions below

2
On BEST ANSWER

You have to parse the string to Date then format that Date

String dateStr = "Mon Jan 12 00:00:00 IST 2015";

DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
DateFormat formatter1 = new SimpleDateFormat("dd.MM.yyyy");
System.out.println(formatter1.format(formatter.parse(dateStr)));

Demo

0
On
String dateStr = "Mon Jan 12 00:00:00 IST 2015";

First you have to parse your string to a date:

DateFormat parser = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date = parser.parse(dateStr);

and then you can format it:

DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
System.out.println(formatter.format(date));