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");
      System.out.println(date);
    } catch (ParseException e) {
      e.printStackTrace();
    }
    // formatting
    System.out.println(format.format(new Date()));
  }
}
Sun Dec 31 00:00:00 PST 2006
01/26/2007










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.9.Leniency
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.17.DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.MEDIUM)
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.21.SimpleDateFormat
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.