Home Page
>
Internationalization
>
Formatting
Using Predefined Formats
The
DateFormat class allows you to format dates and times with predefined styles in a
locale-sensitive manner. The sections that follow demonstrate how to
use the DateFormat class with a program called
DateFormatDemo.java.
Dates
Formatting dates with the DateFormat class is a two-step
process. First, you create a formatter with the
getDateInstance method. Second, you invoke the
format method, which returns a String
containing the formatted date. The following example formats today's
date by calling these two methods:
Date today;
String dateOut;
DateFormat dateFormatter;
dateFormatter = DateFormat.getDateInstance(DateFormat.DEFAULT,
currentLocale);
today = new Date();
dateOut = dateFormatter.format(today);
System.out.println(dateOut + " " + currentLocale.toString());
The output generated by this code follows. Notice that the formats of
the dates vary with Locale. Since DateFormat
is locale-sensitive, it takes care of the formatting details for each
Locale.
9 avr 98 fr_FR
9.4.1998 de_DE
09-Apr-98 en_US
The preceding code example specified the DEFAULT
formatting style. The DEFAULT style is just one of the
predefined formatting styles that the DateFormat class
provides, as follows:
- DEFAULT
- SHORT
- MEDIUM
- LONG
- FULL
The following table shows how dates are formatted for each style with
the U.S. and French locales:
Sample Date Formats
|
Style
|
U.S. Locale
|
French Locale
|
DEFAULT
|
10-Apr-98
|
10 avr 98
|
SHORT
|
4/10/98
|
10/04/98
|
MEDIUM
|
10-Apr-98
|
10 avr 98
|
LONG
|
April 10, 1998
|
10 avril 1998
|
FULL
|
Friday, April 10, 1998
|
vendredi, 10 avril 1998
|
Times
Date objects represent both dates and times. Formatting
times with the DateFormat class is similar to formatting
dates, except that you create the formatter with the
getTimeInstance method, as follows:
DateFormat timeFormatter =
DateFormat.getTimeInstance(DateFormat.DEFAULT,
currentLocale);
The table that follows shows the various predefined format styles for
the U.S. and German locales:
Sample Time Formats
|
Style
|
U.S. Locale
|
German Locale
|
DEFAULT
|
3:58:45 PM
|
15:58:45
|
SHORT
|
3:58 PM
|
15:58
|
MEDIUM
|
3:58:45 PM
|
15:58:45
|
LONG
|
3:58:45 PM PDT
|
15:58:45 GMT+02:00
|
FULL
|
3:58:45 oclock PM PDT
|
15.58 Uhr GMT+02:00
|
Both Dates and Times
To display a date and time in the same String, create the
formatter with the getDateTimeInstance method. The first
parameter is the date style, and the second is the time style. The
third parameter is the Locale . Here's a quick example:
DateFormat formatter =
DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG,
currentLocale);
The following table shows the date and time formatting styles for the
U.S. and French locales:
Sample Date and Time Formats
|
Style
|
U.S. Locale
|
French Locale
|
DEFAULT
|
25-Jun-98 1:32:19 PM
|
25 jun 98 22:32:20
|
SHORT
|
6/25/98 1:32 PM
|
25/06/98 22:32
|
MEDIUM
|
25-Jun-98 1:32:19 PM
|
25 jun 98 22:32:20
|
LONG
|
June 25, 1998 1:32:19 PM PDT
|
25 juin 1998 22:32:20 GMT+02:00
|
FULL
|
Thursday, June 25, 1998 1:32:19 o'clock PM PDT
|
jeudi, 25 juin 1998 22 h 32 GMT+02:00
|