Using DateFormat and SimpleDateFormat in Java

October 12th, 2009

DateFormat is an abstract class for date/time formatting subclasses which formats and parses dates or time in a language-independent manner.

class Object
class java.text.Format extends Object
class java.text.DateFormat extends java.text.Format


SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows for formatting (date -> text), parsing (text -> date), and normalization.

class java.text.SimpleDateFormat extends java.text.DateFormat

Here’s the sample program:

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

public class StringToDate
{
   public static void main(String[] args)
   {
      DateFormat df = new SimpleDateFormat(”yyyyMMdd”);

      Date tdate;

      try
      {
         tdate = df.parse(”20091008″);
         DateFormat df2 = DateFormat.getDateInstance(DateFormat.SHORT);
         String cstr1 = df2.format(tdate);
         System.out.println(”SHORT Style: ” + cstr1);

         df2 = DateFormat.getDateInstance(DateFormat.LONG);
         String cstr2 = df2.format(tdate);
         System.out.println(”LONG Style: ” + cstr2);     

         df2 = DateFormat.getDateInstance(DateFormat.MEDIUM);
         String cstr3 = df2.format(tdate);
         System.out.println(”MEDIUM Style: ” + cstr3);

         df2 = DateFormat.getDateInstance(DateFormat.FULL);
         String cstr4 = df2.format(tdate);
         System.out.println(”FULL Style: ” + cstr4);
      }
      catch(ParseException e)
      {
      }
   }
}

Here’s the output:

SHORT Style: 10/8/09
LONG Style: October 8, 2009
MEDIUM Style: Oct 8, 2009
FULL Style: Thursday, October 8, 2009