What is SimpleDateFormat in Java?


The java.text.SimpleDateFormat class is used to format and parse a string to date and date to string.

Parsing a date string

One of the constructors of this class accepts a String value representing the desired date format and creates SimpleDateFormat object. To parse/convert a string as a Date object

  • Instantiate this class by passing desired format string.
  • Parse the date string using the parse() method.

Example

Live Demo

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
   public static void main(String args[]) throws ParseException {  
      String date_string = "2007-25-06";
      //Instantiating the SimpleDateFormat class
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");      
      //Parsing the given String to Date object
      Date date = formatter.parse(date_string);      
      System.out.println("Date value: "+date);
   }
}

Output

Date value: Mon Jun 25 00:00:00 IST 2007

Retrieving a pattern string

The toPattern() method of this class returns the pattern string representing the format of the current object.

Example

Live Demo

import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Demo {
   public static void main(String args[]) throws ParseException {  
      SimpleDateFormat obj = new SimpleDateFormat();
      String pattern = obj.toPattern();
      System.out.println(pattern);
   }
}

Output

M/d/yy h:mm a

Parsing a date from text

The parse() method of this class accepts ParsePosition as a parameter along with date string and, parses date from a text.

Example

Live Demo

import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
   public static void main(String args[]) throws ParseException {  
      String text = "Marriage date of Samrat is 2007-25-06";
      //Instantiating the SimpleDateFormat class
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");      
      //Parsing date from the given text
      ParsePosition pos = new ParsePosition(27);
      Date date = formatter.parse(text, pos);
      System.out.println("Date value: "+date);
   }
}

Output

Date value: Mon Jun 25 00:00:00 IST 2007

Updated on: 05-Feb-2021

335 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements