Many developers find it hard for understanding the conversion of plain string to the Date object with the desired format. This is a very basic requirement in any Java application. This tutorial provides few basic formats examples using the SimpleDateFormat class. Also there is plenty of formats available and supported by JDK, you can try yourself using this tutorial as the first step. If you have any questions, please write it in the comments section.
package javabeat.net.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateConversion { public static void main(String args[]) throws ParseException{ SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy"); String dateStr = "07-Nov-2013"; Date date = dateFormat.parse(dateStr); System.out.println(date); System.out.println(dateFormat.format(date)); dateFormat = new SimpleDateFormat("dd-MM-yyyy"); dateStr = "07-11-2013"; date = dateFormat.parse(dateStr); System.out.println(date); System.out.println(dateFormat.format(date)); dateFormat = new SimpleDateFormat("E, MMM dd yyyy"); dateStr = "Fri, Nov 7 2013"; date = dateFormat.parse(dateStr); System.out.println(date); System.out.println(dateFormat.format(date)); } }
Result
Thu Nov 07 00:00:00 IST 2013 07-Nov-2013 Thu Nov 07 00:00:00 IST 2013 07-11-2013 Thu Nov 07 00:00:00 IST 2013 Thu, Nov 07 2013
Look at the below table for the list of options supported by the Java APIs for date conversions.
When you send the string for parsing, the string format must match the SimpleDateFormat in the constructor. Otherwise you would get the following exception:
Exception in thread "main" java.text.ParseException: Unparseable date: "07-Nov-2013" at java.text.DateFormat.parse(DateFormat.java:357) at javabeat.net.util.DateConversion.main(DateConversion.java:19)