--
SimpleDateFormat
is a concrete class for formatting and parsing dates in a locale-sensitive manner. SimpleDateFormat
allows you to start by choosing any user-defined patterns for date-time formatting. DateFormat
also provides many class methods for obtaining default date/time formatters based on the default or a given locale and a number of formatting styles. The SimpleDateFormat
provides more flexiable custom formats for date time, you can set your own date patterns. The following document is from Java API Document.For example,the following code will format the current date time to the same date time pattern as the output of Date class's toString method.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
Examples
The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone.
Date and Time Pattern Result "yyyy.MM.dd G 'at' HH:mm:ss z"
2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy"
Wed, Jul 4, '01
"h:mm a"
12:08 PM
"hh 'o''clock' a, zzzz"
12 o'clock PM, Pacific Daylight Time
"K:mm a, z"
0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa"
02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z"
Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"
010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
2001-07-04T12:08:56.235-0700
import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { Date now = new Date(); String datetimeStr = now.toString(); System.out.println("1. " + datetimeStr); SimpleDateFormat format = new SimpleDateFormat( "EEE MMM dd HH:mm:ss zzz yyyy"); System.out.println("2. " + format.format(now)); } }The output is
1. Fri Jun 27 21:28:16 EDT 2008 2. Fri Jun 27 21:28:16 EDT 2008The following example shows how to parse date time string by using
SimpleDateFormat
:import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { Date now = new Date(); String datetimeStr = now.toString(); SimpleDateFormat format = new SimpleDateFormat( "EEE MMM dd HH:mm:ss zzz yyyy"); try { Date parseDate = format.parse(datetimeStr); System.out.println(parseDate.toString()); } catch (ParseException e) { ; } } }The output is
Fri Jun 27 21:40:52 EDT 2008
Comments
Post a Comment