Class DateFormat
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
SimpleDateFormat
DateFormat is 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 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. It provides many class methods for obtaining default date/time formatters based on the default for a given locale and a number of formatting styles or arbitrary "skeletons".
- The formatting styles include FULL, LONG, MEDIUM, and SHORT. More detail and examples of using these styles are provided in the method descriptions.
- The formatting styles only cover a fraction of the necessary usage. You often need to have just certain
combinations of fields, like Month and Year, but have it to be formatted appropriate to a given locale. This is done
using the (misnamed) getPatternInstance() method, supplying a skeleton. There are a number of constants that have
common pre-defined skeletons, such as
MINUTE_SECOND
for something like "13:45" orYEAR_ABBR_MONTH
for something like "Sept 2012".
To format a date for the current Locale, use one of the static factory methods:
myString = DateFormat.getDateInstance().format(myDate); myString = DateFormat.getPatternInstance(DateFormat.YEAR_ABBR_MONTH).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 date for a different Locale, specify it in the call to getDateInstance().
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
You can use a DateFormat to parse also.
myDate = df.parse(myString);
There are many static factory methods available. Use getDateInstance to get the normal date format for that country. Use getTimeInstance to get the time format for that country. Use getDateTimeInstance 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:
- SHORT is completely numeric, such as 12.13.52 or 3:30pm
- MEDIUM is longer, such as Jan 12, 1952
- LONG is longer, such as January 12, 1952 or 3:30:32pm
- FULL is pretty completely specified, such as Tuesday, April 12, 1952 AD or 3:30:42pm PST.
Use getPatternInstance to format with a skeleton. Typically this is with a predefined skeleton, like
YEAR_ABBR_MONTH
for something like "Sept 2012". If you don't want to use one of the predefined skeletons,
you can supply your own. The skeletons are like the patterns in SimpleDateFormat, except they:
- only keep the field pattern letter and ignore all other parts in a pattern, such as space, punctuation, and string literals.
- are independent of the order of fields.
- ignore certain differences in the field's pattern letter length:
- For those non-digit calendar fields, the pattern letter length is important, such as MMM, MMMM, and MMMMM; E and EEEE, and the field's pattern letter length is honored.
- For the digit calendar fields, such as M or MM, d or dd, yy or yyyy, the field pattern length is ignored and the best match, which is defined in date time patterns, will be returned without honor the field pattern letter length in skeleton.
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
- progressively parse through pieces of a string.
- align any particular field, or find out where it is for selection on the screen.
Synchronization
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.- Author:
- Mark Davis, Chen-Lieh Huang, Alan Liu
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
boolean attributesstatic class
The instances of this inner class are used as attribute keys and values in AttributedCharacterIterator that DateFormat.formatToCharacterIterator() method returns.static enum
Hour CycleNested classes/interfaces inherited from class com.ibm.icu.text.UFormat
UFormat.SpanField
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Constant for generic non-location format, abbreviated if possible, such as PT; used in combinations date + time + zone, or time + zone.static final String
Constant for date skeleton with abbreviated month.static final String
Constant for date skeleton with abbreviated month and day.static final String
Constant for date skeleton with abbreviated month, weekday, and day.static final String
Constant for date skeleton with abbreviated quarter.static final String
Constant for specific non-location format, abbreviated if possible, such as PDT; used in combinations date + time + zone, or time + zone.static final String
Deprecated.static final String
Constant for localized GMT/UTC format, such as GMT+8:00 or HPG-8:00; used in combinations date + time + zone, or time + zone.static final String
Constant for date skeleton with abbreviated weekday.static final int
FieldPosition selector for 'a' field alignment, corresponding to theCalendar.AM_PM
field.static final int
FieldPosition selector for 'b' field alignment.protected Calendar
The calendar thatDateFormat
uses to produce the time field values needed to implement date and time formatting.static final int
FieldPosition selector for 'd' field alignment, corresponding to theCalendar.DATE
field.Deprecated.This API is ICU internal only.static final String
Constant for date skeleton with day.static final int
FieldPosition selector for 'E' field alignment, corresponding to theCalendar.DAY_OF_WEEK
field.static final int
FieldPosition selector for 'F' field alignment, corresponding to theCalendar.DAY_OF_WEEK_IN_MONTH
field.static final int
FieldPosition selector for 'D' field alignment, corresponding to theCalendar.DAY_OF_YEAR
field.static final int
Constant for default style pattern.static final int
FieldPosition selector for 'e' field alignment, corresponding to theCalendar.DOW_LOCAL
field.static final int
FieldPosition selector for 'G' field alignment, corresponding to theCalendar.ERA
field.static final int
FieldPosition selector for 'u' field alignment, corresponding to theCalendar.EXTENDED_YEAR
field.static final int
Deprecated.ICU 58 The numeric value may change over time, see ICU ticket #12420.static final int
FieldPosition selector for 'B' field alignment.static final int
FieldPosition selector for 'S' field alignment, corresponding to theCalendar.MILLISECOND
field.static final int
Constant for full style pattern.static final String
Constant for generic non-location format, such as Pacific Time; used in combinations date + time + zone, or time + zone.static final String
Constant for date skeleton with hour, with the locale's preferred hour format (12 or 24).static final String
Deprecated.ICU 50 Use insteadHOUR
+ABBR_GENERIC_TZ
or some other timezone presentation.static final String
Constant for date skeleton with hour and minute, with the locale's preferred hour format (12 or 24).static final String
Deprecated.ICU 50 Use insteadHOUR_MINUTE
+ABBR_GENERIC_TZ
or some other timezone presentation.static final String
Constant for date skeleton with hour, minute, and second, with the locale's preferred hour format (12 or 24).static final String
Deprecated.ICU 50 Use insteadHOUR_MINUTE
+ABBR_SPECIFIC_TZ
or some other timezone presentation.static final int
FieldPosition selector for 'H' field alignment, corresponding to theCalendar.HOUR_OF_DAY
field.static final int
FieldPosition selector for 'k' field alignment, corresponding to theCalendar.HOUR_OF_DAY
field.static final String
Deprecated.ICU 50 Use insteadHOUR
+ABBR_SPECIFIC_TZ
or some other timezone presentation.static final int
FieldPosition selector for 'K' field alignment, corresponding to theCalendar.HOUR
field.static final int
FieldPosition selector for 'h' field alignment, corresponding to theCalendar.HOUR
field.static final String
Constant for date skeleton with hour in 24-hour presentation.static final String
Constant for date skeleton with hour and minute in 24-hour presentation.static final String
Constant for date skeleton with hour, minute, and second in 24-hour presentation.static final String
Deprecated.This API is ICU internal only.static final String
Deprecated.This API is ICU internal only.static final String
Deprecated.This API is ICU internal only.static final int
FieldPosition selector for 'g' field alignment, corresponding to theCalendar.JULIAN_DAY
field.static final String
Constant for generic location format, such as Los Angeles Time; used in combinations date + time + zone, or time + zone.static final int
Constant for long style pattern.static final int
Constant for medium style pattern.static final int
Alias for FRACTIONAL_SECOND_FIELD.static final int
FieldPosition selector for 'A' field alignment, corresponding to theCalendar.MILLISECONDS_IN_DAY
field.static final String
Constant for date skeleton with minute.static final int
FieldPosition selector for 'm' field alignment, corresponding to theCalendar.MINUTE
field.static final String
Constant for date skeleton with minute and second.static final String
Constant for date skeleton with month.static final String
Constant for date skeleton with long month and day.static final int
FieldPosition selector for 'M' field alignment, corresponding to theCalendar.MONTH
field.static final String
Constant for date skeleton with month, weekday, and day.static final int
Constant for empty style pattern.static final String
Constant for date skeleton with numeric month.static final String
Constant for date skeleton with numeric month and day.static final String
Constant for date skeleton with numeric month, weekday, and day.protected NumberFormat
The number formatter thatDateFormat
uses to format numbers in dates and times.static final String
Constant for date skeleton with quarter.static final int
FieldPosition selector for 'Q' field alignment, corresponding to theCalendar.MONTH
field.static final int
Constant for relative style mask.static final int
Constant for relative default style pattern.static final int
Constant for relative full style pattern.static final int
Constant for relative style pattern.static final int
Constant for relative style pattern.static final int
Constant for relative style pattern.static final String
Constant for date skeleton with second.static final int
FieldPosition selector for 's' field alignment, corresponding to theCalendar.SECOND
field.static final int
Constant for short style pattern.static final String
Constant for specific non-location format, such as Pacific Daylight Time; used in combinations date + time + zone, or time + zone.static final int
FieldPosition selector for 'c' field alignment, corresponding to theCalendar.DAY_OF_WEEK
field.static final String
Deprecated.ICU 50 UseMONTH
instead.static final int
FieldPosition selector for 'L' field alignment, corresponding to theCalendar.MONTH
field.static final int
FieldPosition selector for 'q' field alignment, corresponding to theCalendar.MONTH
field.static final int
Deprecated.This API is ICU internal only.Deprecated.This API is ICU internal only.static final int
FieldPosition selector for 'z' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'v' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'X' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'x' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'O' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'Z' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'V' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.static final int
FieldPosition selector for 'W' field alignment, corresponding to theCalendar.WEEK_OF_MONTH
field.static final int
FieldPosition selector for 'w' field alignment, corresponding to theCalendar.WEEK_OF_YEAR
field.static final String
Constant for date skeleton with weekday.static final String
Constant for date skeleton with year.static final String
Constant for date skeleton with year and abbreviated month.static final String
Constant for date skeleton with year, abbreviated month, and day.static final String
Constant for date skeleton with year, abbreviated month, weekday, and day.static final String
Constant for date skeleton with year and abbreviated quarter.static final int
FieldPosition selector for 'y' field alignment, corresponding to theCalendar.YEAR
field.static final String
Constant for date skeleton with year and month.static final String
Constant for date skeleton with year, month, and day.static final String
Constant for date skeleton with year, month, weekday, and day.static final int
FieldPosition selector for 'U' field alignment, corresponding to theCalendar.YEAR
field.static final String
Constant for date skeleton with year and numeric month.static final String
Constant for date skeleton with year, numeric month, and day.static final String
Constant for date skeleton with year, numeric month, weekday, and day.static final String
Constant for date skeleton with year and quarter.static final int
FieldPosition selector for 'Y' field alignment, corresponding to theCalendar.YEAR_WOY
field.Deprecated.This API is ICU internal only. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
Overrides clone.boolean
Overrides equals.abstract StringBuffer
format
(Calendar cal, StringBuffer toAppendTo, FieldPosition fieldPosition) Formats a date into a date/time string.final StringBuffer
format
(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition) Formats a time object into a time string.final String
Formats a Date into a date/time string.format
(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) Formats a Date into a date/time string.static Locale[]
Returns the set of locales for which DateFormats are installed.static ULocale[]
Returns the set of locales for which DateFormats are installed.boolean
Returns the current value for the specified BooleanAttribute for this instance if attribute is missing false is returned.Returns the calendar associated with this date/time formatter.Get the formatter's DisplayContext value for the specified DisplayContext.Type, such as CAPITALIZATION.static final DateFormat
Returns the date formatter with the default formatting style for the defaultFORMAT
locale.static final DateFormat
getDateInstance
(int style) Returns the date formatter with the given formatting style for the defaultFORMAT
locale.static final DateFormat
getDateInstance
(int style, ULocale locale) Returns the date formatter with the given formatting style for the given locale.static final DateFormat
getDateInstance
(int style, Locale aLocale) Returns the date formatter with the given formatting style for the given locale.static final DateFormat
getDateInstance
(Calendar cal, int dateStyle) Creates aDateFormat
object for the default locale that can be used to format dates in the calendar system specified bycal
.static final DateFormat
getDateInstance
(Calendar cal, int dateStyle, ULocale locale) Creates aDateFormat
object that can be used to format dates in the calendar system specified bycal
.static final DateFormat
getDateInstance
(Calendar cal, int dateStyle, Locale locale) Creates aDateFormat
object that can be used to format dates in the calendar system specified bycal
.static final DateFormat
Returns the date/time formatter with the default formatting style for the defaultFORMAT
locale.static final DateFormat
getDateTimeInstance
(int dateStyle, int timeStyle) Returns the date/time formatter with the given date and time formatting styles for the defaultFORMAT
locale.static final DateFormat
getDateTimeInstance
(int dateStyle, int timeStyle, ULocale locale) Returns the date/time formatter with the given formatting styles for the given locale.static final DateFormat
getDateTimeInstance
(int dateStyle, int timeStyle, Locale aLocale) Returns the date/time formatter with the given formatting styles for the given locale.static final DateFormat
getDateTimeInstance
(Calendar cal, int dateStyle, int timeStyle) Creates aDateFormat
object for the default locale that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getDateTimeInstance
(Calendar cal, int dateStyle, int timeStyle, ULocale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getDateTimeInstance
(Calendar cal, int dateStyle, int timeStyle, Locale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
Returns a default date/time formatter that uses the SHORT style for both the date and the time.static final DateFormat
getInstance
(Calendar cal) Returns a default date/time formatter that uses the SHORT style for both the date and the time.static final DateFormat
getInstance
(Calendar cal, ULocale locale) Returns a date/time formatter that uses the SHORT style for both the date and the time.static final DateFormat
getInstance
(Calendar cal, Locale locale) Returns a date/time formatter that uses the SHORT style for both the date and the time.static final DateFormat
getInstanceForSkeleton
(Calendar cal, String skeleton, ULocale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getInstanceForSkeleton
(Calendar cal, String skeleton, Locale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getInstanceForSkeleton
(String skeleton) Returns aDateFormat
object that can be used to format dates and times in the default locale.static final DateFormat
getInstanceForSkeleton
(String skeleton, ULocale locale) Returns aDateFormat
object that can be used to format dates and times in the given locale.static final DateFormat
getInstanceForSkeleton
(String skeleton, Locale locale) Returns aDateFormat
object that can be used to format dates and times in the given locale.Returns the number formatter which this date/time formatter uses to format and parse a time.static final DateFormat
getPatternInstance
(Calendar cal, String skeleton, ULocale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getPatternInstance
(Calendar cal, String skeleton, Locale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.static final DateFormat
getPatternInstance
(String skeleton) Returns aDateFormat
object that can be used to format dates and times in the default locale.static final DateFormat
getPatternInstance
(String skeleton, ULocale locale) Returns aDateFormat
object that can be used to format dates and times in the given locale.static final DateFormat
getPatternInstance
(String skeleton, Locale locale) Returns aDateFormat
object that can be used to format dates and times in the given locale.static final DateFormat
Gets the time formatter with the default formatting style for the defaultFORMAT
locale.static final DateFormat
getTimeInstance
(int style) Returns the time formatter with the given formatting style for the defaultFORMAT
locale.static final DateFormat
getTimeInstance
(int style, ULocale locale) Returns the time formatter with the given formatting style for the given locale.static final DateFormat
getTimeInstance
(int style, Locale aLocale) Returns the time formatter with the given formatting style for the given locale.static final DateFormat
getTimeInstance
(Calendar cal, int timeStyle) Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
.static final DateFormat
getTimeInstance
(Calendar cal, int timeStyle, ULocale locale) Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
.static final DateFormat
getTimeInstance
(Calendar cal, int timeStyle, Locale locale) Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
.Returns the time zone.int
hashCode()
Overrides hashCode.boolean
Returns whether date/time parsing in the encapsulated Calendar object is lenient.boolean
Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace & numeric processing is lenient.Parses a date/time string.abstract void
parse
(String text, Calendar cal, ParsePosition pos) Parses a date/time string according to the given parse position.parse
(String text, ParsePosition pos) Parses a date/time string according to the given parse position.parseObject
(String source, ParsePosition pos) Parses a date/time string into an Object.setBooleanAttribute
(DateFormat.BooleanAttribute key, boolean value) Sets a boolean attribute for this instance.void
setCalendar
(Calendar newCalendar) Sets the calendar to be used by this date format.void
setCalendarLenient
(boolean lenient) Specifies whether date/time parsing in the encapsulated Calendar object should be lenient.void
setContext
(DisplayContext context) Set a particular DisplayContext value in the formatter, such as CAPITALIZATION_FOR_STANDALONE.void
setLenient
(boolean lenient) Specifies whether date/time parsing is to be lenient.void
setNumberFormat
(NumberFormat newNumberFormat) Sets the number formatter.void
setTimeZone
(TimeZone zone) Sets the time zone for the calendar of this DateFormat object.Methods inherited from class java.text.Format
format, formatToCharacterIterator, parseObject
-
Field Details
-
calendar
The calendar thatDateFormat
uses to produce the time field values needed to implement date and time formatting. Subclasses should initialize this to a calendar appropriate for the locale associated with thisDateFormat
. -
numberFormat
The number formatter thatDateFormat
uses to format numbers in dates and times. Subclasses should initialize this to a number format appropriate for the locale associated with thisDateFormat
. -
ERA_FIELD
public static final int ERA_FIELDFieldPosition selector for 'G' field alignment, corresponding to theCalendar.ERA
field.- See Also:
-
YEAR_FIELD
public static final int YEAR_FIELDFieldPosition selector for 'y' field alignment, corresponding to theCalendar.YEAR
field.- See Also:
-
MONTH_FIELD
public static final int MONTH_FIELDFieldPosition selector for 'M' field alignment, corresponding to theCalendar.MONTH
field.- See Also:
-
DATE_FIELD
public static final int DATE_FIELDFieldPosition selector for 'd' field alignment, corresponding to theCalendar.DATE
field.- See Also:
-
HOUR_OF_DAY1_FIELD
public static final int HOUR_OF_DAY1_FIELDFieldPosition selector for 'k' field alignment, corresponding to theCalendar.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.- See Also:
-
HOUR_OF_DAY0_FIELD
public static final int HOUR_OF_DAY0_FIELDFieldPosition selector for 'H' field alignment, corresponding to theCalendar.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.- See Also:
-
MINUTE_FIELD
public static final int MINUTE_FIELDFieldPosition selector for 'm' field alignment, corresponding to theCalendar.MINUTE
field.- See Also:
-
SECOND_FIELD
public static final int SECOND_FIELDFieldPosition selector for 's' field alignment, corresponding to theCalendar.SECOND
field.- See Also:
-
FRACTIONAL_SECOND_FIELD
public static final int FRACTIONAL_SECOND_FIELDFieldPosition selector for 'S' field alignment, corresponding to theCalendar.MILLISECOND
field. Note: Time formats that use 'S' can display a maximum of three significant digits for fractional seconds, corresponding to millisecond resolution and a fractional seconds sub-pattern of SSS. If the sub-pattern is S or SS, the fractional seconds value will be truncated (not rounded) to the number of display places specified. If the fractional seconds sub-pattern is longer than SSS, the additional display places will be filled with zeros.- See Also:
-
MILLISECOND_FIELD
public static final int MILLISECOND_FIELDAlias for FRACTIONAL_SECOND_FIELD.- See Also:
-
DAY_OF_WEEK_FIELD
public static final int DAY_OF_WEEK_FIELDFieldPosition selector for 'E' field alignment, corresponding to theCalendar.DAY_OF_WEEK
field.- See Also:
-
DAY_OF_YEAR_FIELD
public static final int DAY_OF_YEAR_FIELDFieldPosition selector for 'D' field alignment, corresponding to theCalendar.DAY_OF_YEAR
field.- See Also:
-
DAY_OF_WEEK_IN_MONTH_FIELD
public static final int DAY_OF_WEEK_IN_MONTH_FIELDFieldPosition selector for 'F' field alignment, corresponding to theCalendar.DAY_OF_WEEK_IN_MONTH
field.- See Also:
-
WEEK_OF_YEAR_FIELD
public static final int WEEK_OF_YEAR_FIELDFieldPosition selector for 'w' field alignment, corresponding to theCalendar.WEEK_OF_YEAR
field.- See Also:
-
WEEK_OF_MONTH_FIELD
public static final int WEEK_OF_MONTH_FIELDFieldPosition selector for 'W' field alignment, corresponding to theCalendar.WEEK_OF_MONTH
field.- See Also:
-
AM_PM_FIELD
public static final int AM_PM_FIELDFieldPosition selector for 'a' field alignment, corresponding to theCalendar.AM_PM
field.- See Also:
-
HOUR1_FIELD
public static final int HOUR1_FIELDFieldPosition selector for 'h' field alignment, corresponding to theCalendar.HOUR
field. HOUR1_FIELD is used for the one-based 12-hour clock. For example, 11:30 PM + 1 hour results in 12:30 AM.- See Also:
-
HOUR0_FIELD
public static final int HOUR0_FIELDFieldPosition selector for 'K' field alignment, corresponding to theCalendar.HOUR
field. HOUR0_FIELD is used for the zero-based 12-hour clock. For example, 11:30 PM + 1 hour results in 00:30 AM.- See Also:
-
TIMEZONE_FIELD
public static final int TIMEZONE_FIELDFieldPosition selector for 'z' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.- See Also:
-
YEAR_WOY_FIELD
public static final int YEAR_WOY_FIELDFieldPosition selector for 'Y' field alignment, corresponding to theCalendar.YEAR_WOY
field.- See Also:
-
DOW_LOCAL_FIELD
public static final int DOW_LOCAL_FIELDFieldPosition selector for 'e' field alignment, corresponding to theCalendar.DOW_LOCAL
field.- See Also:
-
EXTENDED_YEAR_FIELD
public static final int EXTENDED_YEAR_FIELDFieldPosition selector for 'u' field alignment, corresponding to theCalendar.EXTENDED_YEAR
field.- See Also:
-
JULIAN_DAY_FIELD
public static final int JULIAN_DAY_FIELDFieldPosition selector for 'g' field alignment, corresponding to theCalendar.JULIAN_DAY
field.- See Also:
-
MILLISECONDS_IN_DAY_FIELD
public static final int MILLISECONDS_IN_DAY_FIELDFieldPosition selector for 'A' field alignment, corresponding to theCalendar.MILLISECONDS_IN_DAY
field.- See Also:
-
TIMEZONE_RFC_FIELD
public static final int TIMEZONE_RFC_FIELDFieldPosition selector for 'Z' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields.- See Also:
-
TIMEZONE_GENERIC_FIELD
public static final int TIMEZONE_GENERIC_FIELDFieldPosition selector for 'v' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields. This displays the generic zone name, if available.- See Also:
-
STANDALONE_DAY_FIELD
public static final int STANDALONE_DAY_FIELDFieldPosition selector for 'c' field alignment, corresponding to theCalendar.DAY_OF_WEEK
field. This displays the stand alone day name, if available.- See Also:
-
STANDALONE_MONTH_FIELD
public static final int STANDALONE_MONTH_FIELDFieldPosition selector for 'L' field alignment, corresponding to theCalendar.MONTH
field. This displays the stand alone month name, if available.- See Also:
-
QUARTER_FIELD
public static final int QUARTER_FIELDFieldPosition selector for 'Q' field alignment, corresponding to theCalendar.MONTH
field. This displays the quarter.- See Also:
-
STANDALONE_QUARTER_FIELD
public static final int STANDALONE_QUARTER_FIELDFieldPosition selector for 'q' field alignment, corresponding to theCalendar.MONTH
field. This displays the stand alone quarter, if available.- See Also:
-
TIMEZONE_SPECIAL_FIELD
public static final int TIMEZONE_SPECIAL_FIELDFieldPosition selector for 'V' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields. This displays the fallback timezone name when VVVV is specified, and the short standard or daylight timezone name ignoring commonlyUsed when a single V is specified.- See Also:
-
YEAR_NAME_FIELD
public static final int YEAR_NAME_FIELDFieldPosition selector for 'U' field alignment, corresponding to theCalendar.YEAR
field. This displays the cyclic year name, if available.- See Also:
-
TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD
public static final int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELDFieldPosition selector for 'O' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields. This displays the localized GMT format.- See Also:
-
TIMEZONE_ISO_FIELD
public static final int TIMEZONE_ISO_FIELDFieldPosition selector for 'X' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields. This displays the ISO 8601 local time offset format or UTC indicator ("Z").- See Also:
-
TIMEZONE_ISO_LOCAL_FIELD
public static final int TIMEZONE_ISO_LOCAL_FIELDFieldPosition selector for 'x' field alignment, corresponding to theCalendar.ZONE_OFFSET
andCalendar.DST_OFFSET
fields. This displays the ISO 8601 local time offset format.- See Also:
-
AM_PM_MIDNIGHT_NOON_FIELD
public static final int AM_PM_MIDNIGHT_NOON_FIELDFieldPosition selector for 'b' field alignment. No related Calendar field. This displays the fixed day period (am/pm/midnight/noon).- See Also:
-
FLEXIBLE_DAY_PERIOD_FIELD
public static final int FLEXIBLE_DAY_PERIOD_FIELDFieldPosition selector for 'B' field alignment. No related Calendar field. This displays the flexible day period.- See Also:
-
TIME_SEPARATOR
Deprecated.This API is ICU internal only.FieldPosition selector time separator, no related Calendar field. No pattern character is currently defined for this.- See Also:
-
FIELD_COUNT
Deprecated.ICU 58 The numeric value may change over time, see ICU ticket #12420.Number of FieldPosition selectors for DateFormat. Valid selectors range from 0 to FIELD_COUNT-1.- See Also:
-
NONE
public static final int NONEConstant for empty style pattern.- See Also:
-
FULL
public static final int FULLConstant for full style pattern.- See Also:
-
LONG
public static final int LONGConstant for long style pattern.- See Also:
-
MEDIUM
public static final int MEDIUMConstant for medium style pattern.- See Also:
-
SHORT
public static final int SHORTConstant for short style pattern.- See Also:
-
DEFAULT
public static final int DEFAULTConstant for default style pattern. Its value is MEDIUM.- See Also:
-
RELATIVE
public static final int RELATIVEConstant for relative style mask.- See Also:
-
RELATIVE_FULL
public static final int RELATIVE_FULLConstant for relative full style pattern.- See Also:
-
RELATIVE_LONG
public static final int RELATIVE_LONGConstant for relative style pattern.- See Also:
-
RELATIVE_MEDIUM
public static final int RELATIVE_MEDIUMConstant for relative style pattern.- See Also:
-
RELATIVE_SHORT
public static final int RELATIVE_SHORTConstant for relative style pattern.- See Also:
-
RELATIVE_DEFAULT
public static final int RELATIVE_DEFAULTConstant for relative default style pattern.- See Also:
-
YEAR
Constant for date skeleton with year.- See Also:
-
QUARTER
Constant for date skeleton with quarter.- See Also:
-
ABBR_QUARTER
Constant for date skeleton with abbreviated quarter.- See Also:
-
YEAR_QUARTER
Constant for date skeleton with year and quarter.- See Also:
-
YEAR_ABBR_QUARTER
Constant for date skeleton with year and abbreviated quarter.- See Also:
-
MONTH
Constant for date skeleton with month.- See Also:
-
ABBR_MONTH
Constant for date skeleton with abbreviated month.- See Also:
-
NUM_MONTH
Constant for date skeleton with numeric month.- See Also:
-
YEAR_MONTH
Constant for date skeleton with year and month.- See Also:
-
YEAR_ABBR_MONTH
Constant for date skeleton with year and abbreviated month.- See Also:
-
YEAR_NUM_MONTH
Constant for date skeleton with year and numeric month.- See Also:
-
DAY
Constant for date skeleton with day.- See Also:
-
YEAR_MONTH_DAY
Constant for date skeleton with year, month, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
YEAR_ABBR_MONTH_DAY
Constant for date skeleton with year, abbreviated month, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
YEAR_NUM_MONTH_DAY
Constant for date skeleton with year, numeric month, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
WEEKDAY
Constant for date skeleton with weekday.- See Also:
-
ABBR_WEEKDAY
Constant for date skeleton with abbreviated weekday.- See Also:
-
YEAR_MONTH_WEEKDAY_DAY
Constant for date skeleton with year, month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
YEAR_ABBR_MONTH_WEEKDAY_DAY
Constant for date skeleton with year, abbreviated month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
YEAR_NUM_MONTH_WEEKDAY_DAY
Constant for date skeleton with year, numeric month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
MONTH_DAY
Constant for date skeleton with long month and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
ABBR_MONTH_DAY
Constant for date skeleton with abbreviated month and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
NUM_MONTH_DAY
Constant for date skeleton with numeric month and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
MONTH_WEEKDAY_DAY
Constant for date skeleton with month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
ABBR_MONTH_WEEKDAY_DAY
Constant for date skeleton with abbreviated month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
NUM_MONTH_WEEKDAY_DAY
Constant for date skeleton with numeric month, weekday, and day. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
DATE_SKELETONS
Deprecated.This API is ICU internal only.List of all of the date skeleton constants for iteration. Note that this is fragile; be sure to add any values that are added above. -
HOUR
Constant for date skeleton with hour, with the locale's preferred hour format (12 or 24).- See Also:
-
HOUR24
Constant for date skeleton with hour in 24-hour presentation.- See Also:
-
MINUTE
Constant for date skeleton with minute.- See Also:
-
HOUR_MINUTE
Constant for date skeleton with hour and minute, with the locale's preferred hour format (12 or 24). Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
HOUR24_MINUTE
Constant for date skeleton with hour and minute in 24-hour presentation. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
SECOND
Constant for date skeleton with second.- See Also:
-
HOUR_MINUTE_SECOND
Constant for date skeleton with hour, minute, and second, with the locale's preferred hour format (12 or 24). Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
HOUR24_MINUTE_SECOND
Constant for date skeleton with hour, minute, and second in 24-hour presentation. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
MINUTE_SECOND
Constant for date skeleton with minute and second. Used in combinations date + time, date + time + zone, or time + zone.- See Also:
-
TIME_SKELETONS
Deprecated.This API is ICU internal only.List of all of the time skeleton constants for iteration. Note that this is fragile; be sure to add any values that are added above. -
LOCATION_TZ
Constant for generic location format, such as Los Angeles Time; used in combinations date + time + zone, or time + zone.- See Also:
-
GENERIC_TZ
Constant for generic non-location format, such as Pacific Time; used in combinations date + time + zone, or time + zone.- See Also:
-
ABBR_GENERIC_TZ
Constant for generic non-location format, abbreviated if possible, such as PT; used in combinations date + time + zone, or time + zone.- See Also:
-
SPECIFIC_TZ
Constant for specific non-location format, such as Pacific Daylight Time; used in combinations date + time + zone, or time + zone.- See Also:
-
ABBR_SPECIFIC_TZ
Constant for specific non-location format, abbreviated if possible, such as PDT; used in combinations date + time + zone, or time + zone.- See Also:
-
ABBR_UTC_TZ
Constant for localized GMT/UTC format, such as GMT+8:00 or HPG-8:00; used in combinations date + time + zone, or time + zone.- See Also:
-
ZONE_SKELETONS
Deprecated.This API is ICU internal only.List of all of the zone skeleton constants for iteration. Note that this is fragile; be sure to add any values that are added above. -
STANDALONE_MONTH
Deprecated.ICU 50 UseMONTH
instead.Constant for date skeleton with standalone month.- See Also:
-
ABBR_STANDALONE_MONTH
Deprecated.ICU 50 UseABBR_MONTH
instead.Constant for date skeleton with standalone abbreviated month.- See Also:
-
HOUR_MINUTE_GENERIC_TZ
Deprecated.ICU 50 Use insteadHOUR_MINUTE
+ABBR_GENERIC_TZ
or some other timezone presentation.Constant for date skeleton with hour, minute, and generic timezone.- See Also:
-
HOUR_MINUTE_TZ
Deprecated.ICU 50 Use insteadHOUR_MINUTE
+ABBR_SPECIFIC_TZ
or some other timezone presentation.Constant for date skeleton with hour, minute, and timezone.- See Also:
-
HOUR_GENERIC_TZ
Deprecated.ICU 50 Use insteadHOUR
+ABBR_GENERIC_TZ
or some other timezone presentation.Constant for date skeleton with hour and generic timezone.- See Also:
-
HOUR_TZ
Deprecated.ICU 50 Use insteadHOUR
+ABBR_SPECIFIC_TZ
or some other timezone presentation.Constant for date skeleton with hour and timezone.- See Also:
-
JP_ERA_2019_ROOT
Deprecated.This API is ICU internal only.Constant for Unicode string name of new (in 2019) Japanese calendar era, root/English abbreviated version (ASCII-range characters).- See Also:
-
JP_ERA_2019_JA
Deprecated.This API is ICU internal only.Constant for Unicode string name of new (in 2019) Japanese calendar era, Japanese abbreviated version (Han, or fullwidth Latin for testing).- See Also:
-
JP_ERA_2019_NARROW
Deprecated.This API is ICU internal only.Constant for Unicode string name of new (in 2019) Japanese calendar era, root and Japanese narrow version (ASCII-range characters).- See Also:
-
-
Constructor Details
-
DateFormat
protected DateFormat()Creates a new date format.
-
-
Method Details
-
format
Formats a time object into a time string. Examples of time objects are a time value expressed in milliseconds and a Date object.- Specified by:
format
in classFormat
- Parameters:
obj
- must be a Number or a Date or a Calendar.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 occurrence 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 occurrence of the timezone pattern character 'z'.- Returns:
- the formatted time string.
- See Also:
-
format
public abstract StringBuffer format(Calendar cal, StringBuffer toAppendTo, FieldPosition fieldPosition) Formats a date into a date/time string.- Parameters:
cal
- a Calendar set to the date and time to be formatted into a date/time string. When the calendar type is different from the internal calendar held by this DateFormat instance, the date and the time zone will be inherited from the input calendar, but other calendar field values will be calculated by the internal calendar.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 occurrence 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 occurrence of the timezone pattern character 'z'.- Returns:
- the formatted date/time string.
-
format
Formats a Date into a date/time string.- Parameters:
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 occurrence 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 occurrence of the timezone pattern character 'z'.- Returns:
- the formatted date/time string.
-
format
Formats a Date into a date/time string.- Parameters:
date
- the time value to be formatted into a time string.- Returns:
- the formatted time string.
-
parse
Parses a date/time string. For example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date that is equivalent to Date(837039928046). Parsing begins at the beginning of the string and proceeds as far as possible. Assuming no parse errors were encountered, this function doesn't return any information about how much of the string was consumed by the parsing. If you need that information, use a version of parse() that takes a ParsePosition.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).
Note that the normal date formats associated with some calendars - such as the Chinese lunar calendar - do not specify enough fields to enable dates to be parsed unambiguously. In the case of the Chinese lunar calendar, while the year within the current 60-year cycle is specified, the number of such cycles since the start date of the calendar (in the ERA field of the Calendar object) is not normally part of the format, and parsing may assume the wrong era. For cases such as this it is recommended that clients parse using the parse method that takes a Calendar with the Calendar passed in set to the current date, or to a date within the era/cycle that should be assumed if absent in the format.
- Parameters:
text
- The date/time string to be parsed- Returns:
- A Date, or null if the input could not be parsed
- Throws:
ParseException
- If the given string cannot be parsed as a date.- See Also:
-
parse
Parses a date/time string according to the given parse position. For example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Calendar that is equivalent to Date(837039928046). Before calling this method the caller should initialize the calendar in one of two ways (unless existing field information is to be kept): (1) clear the calendar, or (2) set the calendar to the current date (or to any date whose fields should be used to supply values that are missing in the parsed date). For example, Chinese calendar dates do not normally provide an era/cycle; in this case the calendar that is passed in should be set to a date within the era that should be assumed, normally the current era.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).
- Parameters:
text
- The date/time string to be parsedcal
- The calendar set on input to the date and time to be used for missing values in the date/time string being parsed, and set on output to the parsed date/time. In general, this should be initialized before calling this method - either cleared or set to the current date, depending on desired behavior. If this parse fails, the calendar may still have been modified. When the calendar type is different from the internal calendar held by this DateFormat instance, calendar field values will be parsed based on the internal calendar initialized with the time and the time zone taken from this calendar, then the parse result (time in milliseconds and time zone) will be set back to this calendar.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.- See Also:
-
parse
Parses a date/time string according to the given parse position. For example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date that is equivalent to Date(837039928046).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).
Note that the normal date formats associated with some calendars - such as the Chinese lunar calendar - do not specify enough fields to enable dates to be parsed unambiguously. In the case of the Chinese lunar calendar, while the year within the current 60-year cycle is specified, the number of such cycles since the start date of the calendar (in the ERA field of the Calendar object) is not normally part of the format, and parsing may assume the wrong era. For cases such as this it is recommended that clients parse using the parse method that takes a Calendar with the Calendar passed in set to the current date, or to a date within the era/cycle that should be assumed if absent in the format.
- Parameters:
text
- The date/time string to be parsedpos
- 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.- Returns:
- A Date, or null if the input could not be parsed
- See Also:
-
parseObject
Parses a date/time string into an Object. This convenience method simply calls parse(String, ParsePosition).- Specified by:
parseObject
in classFormat
- See Also:
-
getTimeInstance
Gets the time formatter with the default formatting style for the defaultFORMAT
locale.- Returns:
- a time formatter.
- See Also:
-
getTimeInstance
Returns the time formatter with the given formatting style for the defaultFORMAT
locale.- Parameters:
style
- the given formatting style. For example, SHORT for "h:mm a" in the US locale. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.- Returns:
- a time formatter.
- See Also:
-
getTimeInstance
Returns the time formatter with the given formatting style for the given locale.- Parameters:
style
- the given formatting style. For example, SHORT for "h:mm a" in the US locale. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.aLocale
- the given locale.- Returns:
- a time formatter.
-
getTimeInstance
Returns the time formatter with the given formatting style for the given locale.- Parameters:
style
- the given formatting style. For example, SHORT for "h:mm a" in the US locale. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.locale
- the given ulocale.- Returns:
- a time formatter.
-
getDateInstance
Returns the date formatter with the default formatting style for the defaultFORMAT
locale.- Returns:
- a date formatter.
- See Also:
-
getDateInstance
Returns the date formatter with the given formatting style for the defaultFORMAT
locale.- Parameters:
style
- the given formatting style. For example, SHORT for "M/d/yy" in the US locale. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.- Returns:
- a date formatter.
- See Also:
-
getDateInstance
Returns the date formatter with the given formatting style for the given locale.- Parameters:
style
- the given formatting style. For example, SHORT for "M/d/yy" in the US locale. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.aLocale
- the given locale.- Returns:
- a date formatter.
-
getDateInstance
Returns the date formatter with the given formatting style for the given locale.- Parameters:
style
- the given formatting style. For example, SHORT for "M/d/yy" in the US locale. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.locale
- the given ulocale.- Returns:
- a date formatter.
-
getDateTimeInstance
Returns the date/time formatter with the default formatting style for the defaultFORMAT
locale.- Returns:
- a date/time formatter.
- See Also:
-
getDateTimeInstance
Returns the date/time formatter with the given date and time formatting styles for the defaultFORMAT
locale.- Parameters:
dateStyle
- the given date formatting style. For example, SHORT for "M/d/yy" in the US locale. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.timeStyle
- the given time formatting style. For example, SHORT for "h:mm a" in the US locale. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.- Returns:
- a date/time formatter.
- See Also:
-
getDateTimeInstance
Returns the date/time formatter with the given formatting styles for the given locale.- Parameters:
dateStyle
- the given date formatting style. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.timeStyle
- the given time formatting style. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.aLocale
- the given locale.- Returns:
- a date/time formatter.
-
getDateTimeInstance
Returns the date/time formatter with the given formatting styles for the given locale.- Parameters:
dateStyle
- the given date formatting style. As currently implemented, relative date formatting only affects a limited range of calendar days before or after the current date, based on the CLDR <field type="day">/<relative> data: For example, in English, "Yesterday", "Today", and "Tomorrow". Outside of this range, relative dates are formatted using the corresponding non-relative style.timeStyle
- the given time formatting style. Relative time styles are not currently supported, and behave just like the corresponding non-relative style.locale
- the given ulocale.- Returns:
- a date/time formatter.
-
getInstance
Returns a default date/time formatter that uses the SHORT style for both the date and the time. -
getAvailableLocales
Returns the set of locales for which DateFormats are installed.- Returns:
- the set of locales for which DateFormats are installed.
-
getAvailableULocales
Returns the set of locales for which DateFormats are installed.- Returns:
- the set of locales for which DateFormats are installed.
-
setCalendar
Sets the calendar to be used by this date format. Initially, the default calendar for the specified or default locale is used.- Parameters:
newCalendar
- the new Calendar to be used by the date format
-
getCalendar
Returns the calendar associated with this date/time formatter.- Returns:
- the calendar associated with this date/time formatter.
-
setNumberFormat
Sets the number formatter.- Parameters:
newNumberFormat
- the given new NumberFormat.
-
getNumberFormat
Returns the number formatter which this date/time formatter uses to format and parse a time.- Returns:
- the number formatter which this date/time formatter uses.
-
setTimeZone
Sets the time zone for the calendar of this DateFormat object.- Parameters:
zone
- the given new time zone.
-
getTimeZone
Returns the time zone.- Returns:
- the time zone associated with the calendar of DateFormat.
-
setLenient
public void setLenient(boolean lenient) Specifies whether date/time parsing is to be lenient. With lenient parsing, the parser may use heuristics to interpret inputs that do not precisely match this object's format. Without lenient parsing, inputs must match this object's format more closely.
Note: ICU 53 introduced finer grained control of leniency (and added new control points) making the preferred method a combination of setCalendarLenient() & setBooleanAttribute() calls. This method supports prior functionality but may not support all future leniency control & behavior of DateFormat. For control of pre 53 leniency, Calendar and DateFormat whitespace & numeric tolerance, this method is safe to use. However, mixing leniency control via this method and modification of the newer attributes via setBooleanAttribute() may produce undesirable results.- Parameters:
lenient
- True specifies date/time interpretation to be lenient.- See Also:
-
isLenient
public boolean isLenient()Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace & numeric processing is lenient. -
setCalendarLenient
public void setCalendarLenient(boolean lenient) Specifies whether date/time parsing in the encapsulated Calendar object should be lenient. With lenient parsing, the parser may use heuristics to interpret inputs that do not precisely match this object's format. Without lenient parsing, inputs must match this object's format more closely.- Parameters:
lenient
- when true, Calendar parsing is lenient- See Also:
-
isCalendarLenient
public boolean isCalendarLenient()Returns whether date/time parsing in the encapsulated Calendar object is lenient. -
setBooleanAttribute
Sets a boolean attribute for this instance. Aspects of DateFormat leniency are controlled by boolean attributes.- See Also:
-
getBooleanAttribute
Returns the current value for the specified BooleanAttribute for this instance if attribute is missing false is returned.- See Also:
-
setContext
Set a particular DisplayContext value in the formatter, such as CAPITALIZATION_FOR_STANDALONE.- Parameters:
context
- The DisplayContext value to set.
-
getContext
Get the formatter's DisplayContext value for the specified DisplayContext.Type, such as CAPITALIZATION.- Parameters:
type
- the DisplayContext.Type whose value to return- Returns:
- the current DisplayContext setting for the specified type
-
hashCode
public int hashCode()Overrides hashCode. -
equals
Overrides equals. -
clone
Overrides clone. -
getDateInstance
Creates aDateFormat
object that can be used to format dates in the calendar system specified bycal
. -
getDateInstance
Creates aDateFormat
object that can be used to format dates in the calendar system specified bycal
. -
getTimeInstance
Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
. -
getTimeInstance
Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
. -
getDateTimeInstance
public static final DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle, Locale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.- Parameters:
cal
- The calendar system for which a date/time format is desired.dateStyle
- The type of date format desired. This can beSHORT
,MEDIUM
, etc.timeStyle
- The type of time format desired. This can beSHORT
,MEDIUM
, etc.locale
- The locale for which the date/time format is desired.- See Also:
-
getDateTimeInstance
public static final DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle, ULocale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.- Parameters:
cal
- The calendar system for which a date/time format is desired.dateStyle
- The type of date format desired. This can beSHORT
,MEDIUM
, etc.timeStyle
- The type of time format desired. This can beSHORT
,MEDIUM
, etc.locale
- The locale for which the date/time format is desired.- See Also:
-
getInstance
Returns a date/time formatter that uses the SHORT style for both the date and the time.- Parameters:
cal
- The calendar system for which a date/time format is desired.locale
- The locale for which the date/time format is desired.
-
getInstance
Returns a date/time formatter that uses the SHORT style for both the date and the time.- Parameters:
cal
- The calendar system for which a date/time format is desired.locale
- The locale for which the date/time format is desired.
-
getInstance
Returns a default date/time formatter that uses the SHORT style for both the date and the time.- Parameters:
cal
- The calendar system for which a date/time format is desired.
-
getDateInstance
Creates aDateFormat
object for the default locale that can be used to format dates in the calendar system specified bycal
. -
getTimeInstance
Creates aDateFormat
object that can be used to format times in the calendar system specified bycal
. -
getDateTimeInstance
Creates aDateFormat
object for the default locale that can be used to format dates and times in the calendar system specified bycal
. -
getInstanceForSkeleton
Returns aDateFormat
object that can be used to format dates and times in the default locale.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.
-
getInstanceForSkeleton
Returns aDateFormat
object that can be used to format dates and times in the given locale.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getInstanceForSkeleton
Returns aDateFormat
object that can be used to format dates and times in the given locale.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getInstanceForSkeleton
Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.- Parameters:
cal
- The calendar system for which a date/time format is desired.skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getInstanceForSkeleton
public static final DateFormat getInstanceForSkeleton(Calendar cal, String skeleton, ULocale locale) Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
.- Parameters:
cal
- The calendar system for which a date/time format is desired.skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getPatternInstance
Returns aDateFormat
object that can be used to format dates and times in the default locale. The getInstanceForSkeleton methods are preferred over the getPatternInstance methods.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.
-
getPatternInstance
Returns aDateFormat
object that can be used to format dates and times in the given locale. The getInstanceForSkeleton methods are preferred over the getPatternInstance methods.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getPatternInstance
Returns aDateFormat
object that can be used to format dates and times in the given locale. The getInstanceForSkeleton methods are preferred over the getPatternInstance methods.- Parameters:
skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getPatternInstance
Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
. The getInstanceForSkeleton methods are preferred over the getPatternInstance methods.- Parameters:
cal
- The calendar system for which a date/time format is desired.skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
getPatternInstance
Creates aDateFormat
object that can be used to format dates and times in the calendar system specified bycal
. The getInstanceForSkeleton methods are preferred over the getPatternInstance methods.- Parameters:
cal
- The calendar system for which a date/time format is desired.skeleton
- The skeleton that selects the fields to be formatted. (Uses theDateTimePatternGenerator
.) This can beABBR_MONTH
,MONTH_WEEKDAY_DAY
, etc.locale
- The locale for which the date/time format is desired.
-
ABBR_MONTH
instead.