SimpleDateFormat

In this chapter you will learn:

  1. What is Java SimpleDateFormat for
  2. What are date and time Patterns for SimpleDateFormat
  3. Repeat letters to create format

What is Java SimpleDateFormat for

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

Date and Time Patterns

The following table shows the date and time patterns for SimpleDateFormat.

LetterDate or Time ComponentPresentationExamples
GEra designatorTextAD
yYearYear1996; 96
YWeek yearYear2009; 09
MMonth in yearMonthJuly; Jul; 07
wWeek in yearNumber27
WWeek in monthNumber2
DDay in yearNumber189
dDay in monthNumber10
FDay of week in monthNumber2
EDay name in weekTextTuesday; Tue
uDay number of week (1 = Monday, ..., 7 = Sunday)Number1
aAm/pm markerTextPM
HHour in day (0-23)Number0
kHour in day (1-24)Number24
KHour in am/pm (0-11)Number0
hHour in am/pm (1-12)Number12
mMinute in hourNumber30
sSecond in minuteNumber55
SMillisecondNumber978
zTime zoneGeneral time zonePacific Standard Time; PST; GMT-08:00
ZTime zoneRFC 822 time zone-0800
XTime zoneISO 8601 time zone-08; -0800; -08:00

Repeat letters to create format

If the number of pattern letters is 4 or more, the full form is used; otherwise a short form is used if available. For parsing, both forms are accepted, independent of the number of pattern letters.

import java.text.SimpleDateFormat;
import java.util.Date;
/*from j  a  v a 2  s . c  o m*/
public class Main{

  public static void main(String args[]) {
    Date date = new Date();
    SimpleDateFormat sdf;
    sdf = new SimpleDateFormat("hh:mm:ss");
    System.out.println(sdf.format(date));
    sdf = new SimpleDateFormat("dd MMM yyyy hh:mm:ss zzz");
    System.out.println(sdf.format(date));
    sdf = new SimpleDateFormat("E MMM dd yyyy");
    System.out.println(sdf.format(date));

  }
}

The output:

Next chapter...

What you will learn in the next chapter:

  1. How to parse date string
  2. Convert date string from one format to another format using SimpleDateFormat