| java.lang.Object | ||
| ↳ | java.text.Format | |
| ↳ | java.text.DateFormat | |
Known Direct Subclasses
|
An abstract class for date/time formatting subclasses which formats and parses dates or time in a language-independent manner. The date/time formatting subclass, such as SimpleDateFormat, allows for formatting (i.e., date -> text), parsing (text -> date), and normalization. The date is represented as a 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 locale and a number of formatting styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More details and examples for 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 dates, 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(DateFormat.LONG, Locale.FRANCE);
DateFormat can also be used to parse strings:
myDate = df.parse(myString);
Use getDateInstance to get the normal date format for a country. Other static factory methods are available: Use getTimeInstance to get the time format for a country. Use getDateTimeInstance to get the 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:
If needed, the time zone can be set on the format. For even greater control over the formatting or parsing, 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.
There are versions of the parse and format methods which use ParsePosition and FieldPosition to allow you to
Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
DateFormat.Field | The instances of this inner class are used as attribute keys and values in AttributedCharacterIterator that the formatToCharacterIterator(Object) method returns. |
|||||||||
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | AM_PM_FIELD | FieldPosition selector for 'a' field alignment, corresponds to the AM_PM field. |
|||||||||
| int | DATE_FIELD | The FieldPosition selector for 'd' field alignment, corresponds to the DATE field. |
|||||||||
| int | DAY_OF_WEEK_FIELD | FieldPosition selector for 'E' field alignment, corresponds to the DAY_OF_WEEK field. |
|||||||||
| int | DAY_OF_WEEK_IN_MONTH_FIELD | FieldPosition selector for 'F' field alignment, corresponds to the DAY_OF_WEEK_IN_MONTH field. |
|||||||||
| int | DAY_OF_YEAR_FIELD | FieldPosition selector for 'D' field alignment, corresponds to the DAY_OF_YEAR field. |
|||||||||
| int | DEFAULT | The format style constant defining the default format style. | |||||||||
| int | ERA_FIELD | The FieldPosition selector for 'G' field alignment, corresponds to the ERA field. |
|||||||||
| int | FULL | The format style constant defining the full style. | |||||||||
| int | HOUR0_FIELD | The FieldPosition selector for 'K' field alignment, corresponding to the HOUR field. |
|||||||||
| int | HOUR1_FIELD | FieldPosition selector for 'h' field alignment, corresponding to the HOUR field. |
|||||||||
| int | HOUR_OF_DAY0_FIELD | The FieldPosition selector for 'H' field alignment, corresponds to the HOUR_OF_DAY field. |
|||||||||
| int | HOUR_OF_DAY1_FIELD | The FieldPosition selector for 'k' field alignment, corresponds to the HOUR_OF_DAY field. |
|||||||||
| int | LONG | The format style constant defining the long style. | |||||||||
| int | MEDIUM | The format style constant defining the medium style. | |||||||||
| int | MILLISECOND_FIELD | FieldPosition selector for 'S' field alignment, corresponds to the MILLISECOND field. |
|||||||||
| int | MINUTE_FIELD | FieldPosition selector for 'm' field alignment, corresponds to the MINUTE field. |
|||||||||
| int | MONTH_FIELD | The FieldPosition selector for 'M' field alignment, corresponds to the MONTH field. |
|||||||||
| int | SECOND_FIELD | FieldPosition selector for 's' field alignment, corresponds to the SECOND field. |
|||||||||
| int | SHORT | The format style constant defining the short style. | |||||||||
| int | TIMEZONE_FIELD | The FieldPosition selector for 'z' field alignment, corresponds to the ZONE_OFFSET and DST_OFFSET fields. |
|||||||||
| int | WEEK_OF_MONTH_FIELD | FieldPosition selector for 'W' field alignment, corresponds to the WEEK_OF_MONTH field. |
|||||||||
| int | WEEK_OF_YEAR_FIELD | FieldPosition selector for 'w' field alignment, corresponds to the WEEK_OF_YEAR field. |
|||||||||
| int | YEAR_FIELD | The FieldPosition selector for 'y' field alignment, corresponds to the YEAR field. |
|||||||||
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
calendar | The calendar that this DateFormat uses to format a number representing a date. |
|||||||||
|
|
numberFormat | The number format used to format a number. | |||||||||
| Protected Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Constructs a new instance of
DateFormat.
|
||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Returns a new instance of
DateFormat with the same properties.
|
||||||||||
|
|
Compares this date format with the specified object and indicates if they are equal.
|
||||||||||
|
|
Formats the specified date as a string using the pattern of this date format and appends the string to the specified string buffer.
|
||||||||||
|
|
Formats the specified object as a string using the pattern of this date format and appends the string to the specified string buffer.
|
||||||||||
|
|
Formats the specified date using the rules of this date format.
|
||||||||||
|
|
Returns an array of locales for which custom
DateFormat instances are available.
|
||||||||||
|
|
Returns the calendar used by this
DateFormat.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates in the specified style for the user's default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates in the specified style for the specified locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates in the DEFAULT style for the default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates and time values in the specified styles for the specified locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing of both dates and time values in the manner appropriate for the user's default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates and time values in the DEFAULT style for the default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing dates and times in the SHORT style for the default locale.
|
||||||||||
|
|
Returns the
NumberFormat used by this
DateFormat.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing time values in the specified style for the user's default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing time values in the DEFAULT style for the default locale.
|
||||||||||
|
|
Returns a
DateFormat instance for formatting and parsing time values in the specified style for the specified locale.
|
||||||||||
|
|
Returns the time zone of this date format's calendar.
|
||||||||||
|
|
Returns an integer hash code for this object.
|
||||||||||
|
|
Indicates whether the calendar used by this date format is lenient.
|
||||||||||
|
|
Parses a date from the specified string using the rules of this date format.
|
||||||||||
|
|
Parses a date from the specified string starting at the index specified by
position.
|
||||||||||
|
|
Parses a date from the specified string starting at the index specified by
position.
|
||||||||||
|
|
Sets the calendar used by this date format.
|
||||||||||
|
|
Specifies whether or not date/time parsing shall be lenient.
|
||||||||||
|
|
Sets the
NumberFormat used by this date format.
|
||||||||||
|
|
Sets the time zone of the calendar used by this date format.
|
||||||||||
| [Expand]
Inherited Methods
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class java.text.Format
|
|||||||||||
From class java.lang.Object
|
|||||||||||
FieldPosition selector for 'a' field alignment, corresponds to the AM_PM field.
The FieldPosition selector for 'd' field alignment, corresponds to the DATE field.
FieldPosition selector for 'E' field alignment, corresponds to the DAY_OF_WEEK field.
FieldPosition selector for 'F' field alignment, corresponds to the DAY_OF_WEEK_IN_MONTH field.
FieldPosition selector for 'D' field alignment, corresponds to the DAY_OF_YEAR field.
The format style constant defining the default format style. The default is MEDIUM.
The FieldPosition selector for 'G' field alignment, corresponds to the ERA field.
The format style constant defining the full style.
The FieldPosition selector for 'K' field alignment, corresponding to the HOUR field.
FieldPosition selector for 'h' field alignment, corresponding to the HOUR field.
The FieldPosition selector for 'H' field alignment, corresponds to the HOUR_OF_DAY field. HOUR_OF_DAY0_FIELD is used for the zero-based 24-hour clock. For example, 23:59 + 01:00 results in 00:59.
The FieldPosition selector for 'k' field alignment, corresponds to the HOUR_OF_DAY field. HOUR_OF_DAY1_FIELD is used for the one-based 24-hour clock. For example, 23:59 + 01:00 results in 24:59.
The format style constant defining the long style.
The format style constant defining the medium style.
FieldPosition selector for 'S' field alignment, corresponds to the MILLISECOND field.
FieldPosition selector for 'm' field alignment, corresponds to the MINUTE field.
The FieldPosition selector for 'M' field alignment, corresponds to the MONTH field.
FieldPosition selector for 's' field alignment, corresponds to the SECOND field.
The format style constant defining the short style.
The FieldPosition selector for 'z' field alignment, corresponds to the ZONE_OFFSET and DST_OFFSET fields.
FieldPosition selector for 'W' field alignment, corresponds to the WEEK_OF_MONTH field.
FieldPosition selector for 'w' field alignment, corresponds to the WEEK_OF_YEAR field.
The FieldPosition selector for 'y' field alignment, corresponds to the YEAR field.
The calendar that this DateFormat uses to format a number representing a date.
Returns a new instance of DateFormat with the same properties.
Compares this date format with the specified object and indicates if they are equal.
| object | the object to compare with this date format. |
|---|
true if object is a DateFormat object and it has the same properties as this date format; false otherwise.Formats the specified date as a string using the pattern of this date format and appends the string to the specified string buffer.
If the field member of field contains a value specifying a format field, then its beginIndex and endIndex members will be updated with the position of the first occurrence of this field in the formatted text.
| date | the date to format. |
|---|---|
| buffer | the target string buffer to append the formatted date/time to. |
| field | on input: an optional alignment field; on output: the offsets of the alignment field in the formatted text. |
Formats the specified object as a string using the pattern of this date format and appends the string to the specified string buffer.
If the field member of field contains a value specifying a format field, then its beginIndex and endIndex members will be updated with the position of the first occurrence of this field in the formatted text.
| object | the source object to format, must be a Date or a Number. If object is a number then a date is constructed using the longValue() of the number. |
|---|---|
| buffer | the target string buffer to append the formatted date/time to. |
| field | on input: an optional alignment field; on output: the offsets of the alignment field in the formatted text. |
| IllegalArgumentException | if object is neither a Date nor a Number instance. |
|---|
Formats the specified date using the rules of this date format.
| date | the date to format. |
|---|
Returns an array of locales for which custom DateFormat instances are available.
Note that Android does not support user-supplied locale service providers.
Returns the calendar used by this DateFormat.
Returns a DateFormat instance for formatting and parsing dates in the specified style for the user's default locale. See "Be wary of the default locale".
| style | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
DateFormat instance for style and the default locale.| IllegalArgumentException | if style is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns a DateFormat instance for formatting and parsing dates in the specified style for the specified locale.
| style | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|---|
| locale | the locale. |
DateFormat instance for style and locale. | IllegalArgumentException | if style is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns a DateFormat instance for formatting and parsing dates in the DEFAULT style for the default locale.
DateFormat instance for the default style and locale. Returns a DateFormat instance for formatting and parsing dates and time values in the specified styles for the specified locale.
| dateStyle | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|---|
| timeStyle | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
| locale | the locale. |
DateFormat instance for dateStyle, timeStyle and locale.| IllegalArgumentException | if dateStyle or timeStyle is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns a DateFormat instance for formatting and parsing of both dates and time values in the manner appropriate for the user's default locale. See "Be wary of the default locale".
| dateStyle | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|---|
| timeStyle | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
DateFormat instance for dateStyle, timeStyle and the default locale.| IllegalArgumentException | if dateStyle or timeStyle is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns a DateFormat instance for formatting and parsing dates and time values in the DEFAULT style for the default locale.
DateFormat instance for the default style and locale. Returns a DateFormat instance for formatting and parsing dates and times in the SHORT style for the default locale.
DateFormat instance for the SHORT style and default locale. Returns the NumberFormat used by this DateFormat.
NumberFormat used by this date format. Returns a DateFormat instance for formatting and parsing time values in the specified style for the user's default locale. See "Be wary of the default locale".
| style | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
DateFormat instance for style and the default locale.| IllegalArgumentException | if style is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns a DateFormat instance for formatting and parsing time values in the DEFAULT style for the default locale.
DateFormat instance for the default style and locale. Returns a DateFormat instance for formatting and parsing time values in the specified style for the specified locale.
| style | one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|---|
| locale | the locale. |
DateFormat instance for style and locale. | IllegalArgumentException | if style is not one of SHORT, MEDIUM, LONG, FULL, or DEFAULT. |
|---|
Returns the time zone of this date format's calendar.
Returns an integer hash code for this object. By contract, any two objects for which equals(Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.
Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct hashCode method if you intend implementing your own hashCode method.
Indicates whether the calendar used by this date format is lenient.
true if the calendar is lenient; false otherwise. Parses a date from the specified string using the rules of this date format.
| string | the string to parse. |
|---|
Date resulting from the parsing.| ParseException | if an error occurs during parsing. |
|---|
Parses a date from the specified string starting at the index specified by position. If the string is successfully parsed then the index of the ParsePosition is updated to the index following the parsed text. On error, the index is unchanged and the error index of ParsePosition is set to the index where the error occurred.
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).
| string | the string to parse. |
|---|---|
| position | input/output parameter, specifies the start index in string from where to start parsing. If parsing is successful, it is updated with the index following the parsed text; on error, the index is unchanged and the error index is set to the index where the error occurred. |
null if there is an error. Parses a date from the specified string starting at the index specified by position. If the string is successfully parsed then the index of the ParsePosition is updated to the index following the parsed text. On error, the index is unchanged and the error index of ParsePosition is set to the index where the error occurred.
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).
| string | the string to parse. |
|---|---|
| position | input/output parameter, specifies the start index in string from where to start parsing. If parsing is successful, it is updated with the index following the parsed text; on error, the index is unchanged and the error index is set to the index where the error occurred. |
null if there is an error. Sets the calendar used by this date format.
| cal | the new calendar. |
|---|
Specifies whether or not date/time parsing shall be lenient. With lenient parsing, the parser may use heuristics to interpret inputs that do not precisely match this object's format. With strict parsing, inputs must match this object's format.
| value | true to set the calendar to be lenient, false otherwise. |
|---|
Sets the NumberFormat used by this date format.
| format | the new number format. |
|---|
Sets the time zone of the calendar used by this date format.
| timezone | the new time zone. |
|---|