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.
Following is the list of letters for formatting with their descriptions and examples −
Letter | Component | Example |
| G | Era designator | AD, BC |
| y | Year | 2005, 96 |
| Y | Week year | 2005, 96 |
| M | Month in year | September, Sep, 09 |
| L | Month in year | September, Sep, 09 |
| w | Week in year | 23 |
| W | Week in month | 3 |
| D | Day in year | 129 |
| d | Day in month | 27 |
| F | Day of week in month | 5 |
| E | Day in a week (name) | Monday, Mon |
| u | Day in a week (number) | 1 |
| a | AM/PM | Pm. AM |
| H | Hour in day (0-23) | 0, 22 |
| k | Hour in day (1-24) | 1, 12, 24 |
| K | Hour in am/pm (0-11) | 0, 5, 11 |
| h | Hour in am/pm (1-12) | 1, 5, 12 |
| m | Minute in hour | 25 |
| s | Second in minute | 24 |
| S | Millisecond | 756 |
| z | Time zone | pST, GMT |
| Z | Time zone | -0500 |
| X | Time zone | -06, -0600, -06:00 |
Example
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
public static void main(String args[]) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/dd/MM");
Date date = formatter.parse("2007/25/06");
System.out.println("Date value: "+date);
formatter = new SimpleDateFormat("y:G");
date = formatter.parse("1920:BC");
System.out.println("Date value: "+date);
formatter = new SimpleDateFormat("D-M-Y");
date = formatter.parse("25-05-1989");
System.out.println("Date value: "+date);
}
}Output
Date value: Mon Jun 25 00:00:00 IST 2007 Date value: Sun Jan 01 00:00:00 IST 1920 Date value: Sun Jan 01 00:00:00 IST 1989
Example
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
public static void main(String args[]) throws ParseException {
SimpleDateFormat formatter1 = new SimpleDateFormat("HH:mm:ss");
Date time1 = formatter1.parse("07:25:30");
System.out.println("Date value: "+time1);
SimpleDateFormat formatter2 = new SimpleDateFormat("EEE:MMM-d:YYYY");
Date time2 = formatter2.parse("Sun:Jan-8:2018");
System.out.println("Date value: "+time2);
SimpleDateFormat formatter3 = new SimpleDateFormat("hh 'o''clock' a");
Date time3 = formatter3.parse("09 o'clock AM");
System.out.println("Date value: "+time3);
}
}Output
Date value: Thu Jan 01 07:25:30 IST 1970 Date value: Sun Dec 31 00:00:00 IST 2017 Date value: Thu Jan 01 09:00:00 IST 1970