Blog Archive

Java convert String to Date example using java.util.Date

SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows for formatting (date -> text), parsing (text -> date), and normalization.
package com.as400samplecode;

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

public class ConvertStringToDate {

    public static void main(String[] args) {

        //Create an instance of SimpleDateFormat with "dd/MM/yyyy" format 
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        try {
            Date myDate = df.parse("07/07/2011");           
            System.out.println("My java.util.Date is: " + df.format(myDate));
        } catch (ParseException e) {
        //Create an instance of SimpleDateFormat with "h:mm a" format 
        DateFormat df2 = new SimpleDateFormat("h:mm a");
        try {
            Date myDate = df2.parse("12:35 PM");           
            System.out.println("My java.util.Date is: " + df2.format(myDate));
        } catch (ParseException e) {


Date and Time Patterns

Date and time formats are specified by date and time pattern strings. Within date and time pattern strings, unquoted letters from 'A' to 'Z' and from 'a' to 'z' are interpreted as pattern letters representing the components of a date or time string. Text can be quoted using single quotes (') to avoid interpretation. "''" represents a single quote. All other characters are not interpreted; they're simply copied into the output string during formatting or matched against the input string during parsing.

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

Pattern letters are usually repeated, as their number determines the exact presentation:

Click here for Java API docs for java.text.SimpleDateFormat