Contents | Package | Class | Tree | Deprecated | Index | Help | Java 1.2 Beta 3 | ||
PREV | NEXT | SHOW LISTS | HIDE LISTS |
java.lang.Object | +----java.text.Format | +----java.text.DateFormat
Date
object or
as the milliseconds since January 1, 1970, 00:00:00 GMT.
DateFormat provides many class methods for obtaining default date/time formatters based on the default or a given loacle and a number of formatting styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More detail and examples of using these styles are provided in the method descriptions.
DateFormat helps you to format and parse dates for any locale. Your code can be completely independent of the locale conventions for months, days of the week, or even the calendar format: lunar vs. solar.
To format a date for the current Locale, use one of the static factory methods:
myString = DateFormat.getDateInstance().format(myDate);
If you are formatting multiple numbers, it is more efficient to get the format and use it multiple times so that the system doesn't have to fetch the information about the local language and country conventions multiple times.
DateFormat df = DateFormat.getDateInstance(); for (int i = 0; i < a.length; ++i) { output.println(df.format(myDate[i]) + "; "); }
To format a number for a different Locale, specify it in the call to getDateInstance().
DateFormat df = DateFormat.getDateInstance(Locale.FRANCE);
You can use a DateFormat to parse also.
myDate = df.parse(myString);
Use getDate to get the normal date format for that country. There are other static factory methods available. Use getTime to get the time format for that country. Use getDateTime to get a date and time format. You can pass in different options to these factory methods to control the length of the result; from SHORT to MEDIUM to LONG to FULL. The exact result depends on the locale, but generally:
You can also set the time zone on the format if you wish. If you want even more control over the format or parsing, (or want to give your users more control), you can try casting the DateFormat you get from the factory methods to a SimpleDateFormat. This will work for the majority of countries; just remember to put it in a try block in case you encounter an unusual one.
You can also use forms of the parse and format methods with ParsePosition and FieldPosition to allow you to
Field Summary | |
static int | AM_PM_FIELD
|
Calendar | calendar
|
static int | DATE_FIELD
|
static int | DAY_OF_WEEK_FIELD
|
static int | DAY_OF_WEEK_IN_MONTH_FIELD
|
static int | DAY_OF_YEAR_FIELD
|
static int | DEFAULT
|
static int | ERA_FIELD
|
static int | FULL
|
static int | HOUR0_FIELD
|
static int | HOUR1_FIELD
|
static int | HOUR_OF_DAY0_FIELD
|
static int | HOUR_OF_DAY1_FIELD
|
static int | LONG
|
static int | MEDIUM
|
static int | MILLISECOND_FIELD
|
static int | MINUTE_FIELD
|
static int | MONTH_FIELD
|
NumberFormat | numberFormat
|
static int | SECOND_FIELD
|
static int | SHORT
|
static int | TIMEZONE_FIELD
|
static int | WEEK_OF_MONTH_FIELD
|
static int | WEEK_OF_YEAR_FIELD
|
static int | YEAR_FIELD
|
Constructor Summary | |
DateFormat()
|
Method Summary | |
Object | clone()
|
boolean | equals(Object obj)
|
StringBuffer | format(Object obj,
StringBuffer toAppendTo,
FieldPosition fieldPosition)
|
StringBuffer | format(Date date,
StringBuffer toAppendTo,
FieldPosition fieldPosition)
|
String | format(Date date)
|
static Locale[] | getAvailableLocales()
|
Calendar | getCalendar()
|
static DateFormat | getDateInstance()
|
static DateFormat | getDateInstance(int style)
|
static DateFormat | getDateInstance(int style,
Locale aLocale)
|
static DateFormat | getDateTimeInstance()
|
static DateFormat | getDateTimeInstance(int dateStyle,
int timeStyle)
|
static DateFormat | getDateTimeInstance(int dateStyle,
int timeStyle,
Locale aLocale)
|
static DateFormat | getInstance()
|
NumberFormat | getNumberFormat()
|
static DateFormat | getTimeInstance()
|
static DateFormat | getTimeInstance(int style)
|
static DateFormat | getTimeInstance(int style,
Locale aLocale)
|
TimeZone | getTimeZone()
|
int | hashCode()
|
boolean | isLenient()
|
Date | parse(String text)
|
Date | parse(String text,
ParsePosition pos)
|
Object | parseObject(String source,
ParsePosition pos)
|
void | setCalendar(Calendar newCalendar)
|
void | setLenient(boolean lenient)
|
void | setNumberFormat(NumberFormat newNumberFormat)
|
void | setTimeZone(TimeZone zone)
|
Methods inherited from class java.text.Format |
clone, format, format, parseObject, parseObject |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Calendar calendar
protected NumberFormat numberFormat
public static final int ERA_FIELD
public static final int YEAR_FIELD
public static final int MONTH_FIELD
public static final int DATE_FIELD
public static final int HOUR_OF_DAY1_FIELD
public static final int HOUR_OF_DAY0_FIELD
public static final int MINUTE_FIELD
public static final int SECOND_FIELD
public static final int MILLISECOND_FIELD
public static final int DAY_OF_WEEK_FIELD
public static final int DAY_OF_YEAR_FIELD
public static final int DAY_OF_WEEK_IN_MONTH_FIELD
public static final int WEEK_OF_YEAR_FIELD
public static final int WEEK_OF_MONTH_FIELD
public static final int AM_PM_FIELD
public static final int HOUR1_FIELD
public static final int HOUR0_FIELD
public static final int TIMEZONE_FIELD
public static final int FULL
public static final int LONG
public static final int MEDIUM
public static final int SHORT
public static final int DEFAULT
Constructor Detail |
protected DateFormat()
Method Detail |
public final StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition)
obj
- must be a Number or a Date.
toAppendTo
- the string buffer for the returning time string.
fieldPosition
- keeps track of the position of the field
within the returned string.
On input: an alignment field,
if desired. On output: the offsets of the alignment field. For
example, given a time text "1996.07.10 AD at 15:08:56 PDT",
if the given fieldPosition is DateFormat.YEAR_FIELD, the
begin index and end index of fieldPosition will be set to
0 and 4, respectively.
Notice that if the same time field appears
more than once in a pattern, the fieldPosition will be set for the first
occurence of that time field. For instance, formatting a Date to
the time string "1 PM PDT (Pacific Daylight Time)" using the pattern
"h a z (zzzz)" and the alignment field DateFormat.TIMEZONE_FIELD,
the begin index and end index of fieldPosition will be set to
5 and 8, respectively, for the first occurence of the timezone
pattern character 'z'.
public abstract StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)
date
- a Date to be formatted into a date/time string.
toAppendTo
- the string buffer for the returning date/time string.
fieldPosition
- keeps track of the position of the field
within the returned string.
On input: an alignment field,
if desired. On output: the offsets of the alignment field. For
example, given a time text "1996.07.10 AD at 15:08:56 PDT",
if the given fieldPosition is DateFormat.YEAR_FIELD, the
begin index and end index of fieldPosition will be set to
0 and 4, respectively.
Notice that if the same time field appears
more than once in a pattern, the fieldPosition will be set for the first
occurence of that time field. For instance, formatting a Date to
the time string "1 PM PDT (Pacific Daylight Time)" using the pattern
"h a z (zzzz)" and the alignment field DateFormat.TIMEZONE_FIELD,
the begin index and end index of fieldPosition will be set to
5 and 8, respectively, for the first occurence of the timezone
pattern character 'z'.
public final String format(Date date)
date
- the time value to be formatted into a time string.
public Date parse(String text) throws ParseException
text
- The date/time string to be parsed
public abstract Date parse(String text, ParsePosition pos)
By default, parsing is lenient: If the input is not in the form used by this object's format method but can still be parsed as a date, then the parse succeeds. Clients may insist on strict adherence to the format by calling setLenient(false).
text
- The date/time string to be parsed
pos
- On input, the position at which to start parsing; on
output, the position at which parsing terminated, or the
start position if the parse failed.
public Object parseObject(String source, ParsePosition pos)
public static final DateFormat getTimeInstance()
public static final DateFormat getTimeInstance(int style)
style
- the given formatting style. For example,
SHORT for "h:mm a" in the US locale.
public static final DateFormat getTimeInstance(int style, Locale aLocale)
style
- the given formatting style. For example,
SHORT for "h:mm a" in the US locale.
aLocale
- the given locale.
public static final DateFormat getDateInstance()
public static final DateFormat getDateInstance(int style)
style
- the given formatting style. For example,
SHORT for "M/d/yy" in the US locale.
public static final DateFormat getDateInstance(int style, Locale aLocale)
style
- the given formatting style. For example,
SHORT for "M/d/yy" in the US locale.
aLocale
- the given locale.
public static final DateFormat getDateTimeInstance()
public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle)
dateStyle
- the given date formatting style. For example,
SHORT for "M/d/yy" in the US locale.
timeStyle
- the given time formatting style. For example,
SHORT for "h:mm a" in the US locale.
public static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
dateStyle
- the given date formatting style.
timeStyle
- the given time formatting style.
aLocale
- the given locale.
public static final DateFormat getInstance()
public static Locale[] getAvailableLocales()
public void setCalendar(Calendar newCalendar)
newCalendar
- the new Calendar to be used by the date format
public Calendar getCalendar()
public void setNumberFormat(NumberFormat newNumberFormat)
newNumberFormat
- the given new NumberFormat.
public NumberFormat getNumberFormat()
public void setTimeZone(TimeZone zone)
zone
- the given new time zone.
public TimeZone getTimeZone()
public void setLenient(boolean lenient)
lenient
- when true, parsing is lenient
public boolean isLenient()
public int hashCode()
public boolean equals(Object obj)
public Object clone()
Contents | Package | Class | Tree | Deprecated | Index | Help | Java 1.2 Beta 3 | ||
PREV | NEXT | SHOW LISTS | HIDE LISTS |