SimpleDateFormat : Date Format « Data Type « Java Tutorial

With SimpleDateFormat, you can set your own date patterns. For example, dd/mm/yyyy, mm/dd/yyyy, yyyy-mm-dd, and so on.

The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):

Letter   Date or Time Component   Presentation       Examples
G        Era designator             Text                AD
y        Year                       Year                1996;    96
M        Month in year               Month               July; Jul; 07
w        Week in year               Number               27
W        Week in month               Number               2
D        Day in year               Number               189
d        Day in month               Number               10
F        Day of week in month       Number               2
E        Day in week               Text               Tuesday; Tue
a        Am/pm marker               Text               PM
H        Hour in day (0-23)       Number               0
k        Hour in day (1-24)       Number               24
K        Hour in am/pm (0-11)       Number               0
h        Hour in am/pm (1-12)       Number               12
m        Minute in hour           Number               30
s        Second in minute           Number               55
S        Millisecond                Number               978
z        Time zone                   General time zone   Pacific Standard Time; PST; GMT-08:00
Z        Time zone                  RFC 822 time zone   -0800

(from Java API doc)

The more commonly used patterns can be used by a combination of y (representing a year digit), M (representing a month digit) and d (representing a date digit).

Examples of patterns are dd/MM/yyyy, dd-MM-yyyy, MM/dd/yyyy, yyyy-MM-dd.

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

public class MainClass {
  public static void main(String[] args) {
    String pattern = "MM/dd/yyyy";
    SimpleDateFormat format = new SimpleDateFormat(pattern);
    try {
      Date date = format.parse("12/31/2006");
    } catch (ParseException e) {
    // formatting
    System.out.println(format.format(new Date()));
Sun Dec 31 00:00:00 PST 2006

2.41.Date Format
2.41.1.Date Parsing and Formatting with DateFormat
2.41.2.Parsing the Time Using a Custom Format
2.41.3.Parse with a custom format
2.41.4.Parse with a default format
2.41.5.Parse string date value input with SimpleDateFormat('dd-MMM-yy')
2.41.6.Parse a date and time
2.41.7.Parse string date value input with SimpleDateFormat('E, dd MMM yyyy HH:mm:ss Z')
2.41.8.Parse string date value with default format: DateFormat.getDateInstance(DateFormat.DEFAULT)
2.41.10.Formatting String Symbols for SimpleDateFormat
2.41.11.SimpleDateFormat: hh:mm:ss, dd MMM yyyy hh:mm:ss zzz, E MMM dd yyyy
2.41.12.Simply format a date as YYYYMMDD
2.41.13.Express a duration in term of HH:MM:SS
2.41.14.Date Format with SimpleDateFormat
2.41.15.Demonstrate date formats with different DateFormat constants
2.41.16.Demonstrate time formats.
2.41.18.print out the current date and time
2.41.19.Date Era change
2.41.20.Format Date with System.out.format
2.41.22.Formatting Dates and Times
2.41.23.Four different date formats for four countries: US, UK, GERMANY, FRANCE
2.41.24.Various Date formatVarious Date format
2.41.25.Display date with day name in a short format
2.41.26.Display date with a short day and month name
2.41.27.Format a date into dd/mm/yyyy
2.41.28.Format current date and time with the SimpleDateFormat: dd/MM/yyyy
2.41.29.Format current date and time with the SimpleDateFormat: HH:mm:ss
2.41.30.Formatting Symbols for SimpleDateFormat
2.41.31.Formatting the Time Using a Custom Format
2.41.32.Change date formatting symbols
2.41.33.Get a List of Short Month Names
2.41.34.Get a List of Weekday Names
2.41.35.Get a List of Short Weekday Names
2.41.36.Time in 12-hour format
2.41.37.Time in 24-hour format
2.41.38.Date and time with month
2.41.39.Date and time with day and month fully spelled-out
2.41.40.Output current time: %tc
2.41.41.Formatter that caches formatted date information
2.41.42.RFC date format
2.41.43.A formatter that formats dates to show the elapsed time relative to some base date.