DateFormat
public
class
DateFormat
extends Object
java.lang.Object | |
↳ | android.text.format.DateFormat |
Utility class for producing strings with formatted date/time.
Most callers should avoid supplying their own format strings to this
class' format
methods and rely on the correctly localized ones
supplied by the system. This class' factory methods return
appropriately-localized DateFormat
instances, suitable
for both formatting and parsing dates. For the canonical documentation
of format strings, see SimpleDateFormat
.
In cases where the system does not provide a suitable pattern,
this class offers the getBestDateTimePattern(Locale, String)
method.
The format
methods in this class implement a subset of Unicode
UTS #35 patterns.
The subset currently supported by this class includes the following format characters:
acdEHhLKkLMmsyz
. Up to API level 17, only adEhkMmszy
were supported.
Note that this class incorrectly implements k
as if it were H
for backwards
compatibility.
See SimpleDateFormat
for more documentation
about patterns, or if you need a more complete or correct implementation.
Note that the non-format
methods in this class are implemented by
SimpleDateFormat
.
Summary
Public constructors | |
---|---|
DateFormat()
|
Public methods | |
---|---|
static
CharSequence
|
format(CharSequence inFormat, Calendar inDate)
Given a format string and a |
static
CharSequence
|
format(CharSequence inFormat, Date inDate)
Given a format string and a |
static
CharSequence
|
format(CharSequence inFormat, long inTimeInMillis)
Given a format string and a time in milliseconds since Jan 1, 1970 GMT, returns a CharSequence containing the requested date. |
static
String
|
getBestDateTimePattern(Locale locale, String skeleton)
Returns the best possible localized form of the given skeleton for the given locale. |
static
DateFormat
|
getDateFormat(Context context)
Returns a |
static
char[]
|
getDateFormatOrder(Context context)
Gets the current date format stored as a char array. |
static
DateFormat
|
getLongDateFormat(Context context)
Returns a |
static
DateFormat
|
getMediumDateFormat(Context context)
Returns a |
static
DateFormat
|
getTimeFormat(Context context)
Returns a |
static
boolean
|
is24HourFormat(Context context)
Returns true if times should be formatted as 24 hour times, false if times should be formatted as 12 hour (AM/PM) times. |
Inherited methods | |
---|---|
Public constructors
DateFormat
public DateFormat ()
Public methods
format
public static CharSequence format (CharSequence inFormat, Calendar inDate)
Given a format string and a Calendar
object, returns a CharSequence
containing the requested date.
Parameters | |
---|---|
inFormat |
CharSequence : the format string, as described in DateFormat |
inDate |
Calendar : the date to format |
Returns | |
---|---|
CharSequence |
a CharSequence containing the requested text |
format
public static CharSequence format (CharSequence inFormat, Date inDate)
Given a format string and a Date
object, returns a CharSequence containing
the requested date.
Parameters | |
---|---|
inFormat |
CharSequence : the format string, as described in DateFormat |
inDate |
Date : the date to format |
Returns | |
---|---|
CharSequence |
a CharSequence containing the requested text |
format
public static CharSequence format (CharSequence inFormat, long inTimeInMillis)
Given a format string and a time in milliseconds since Jan 1, 1970 GMT, returns a CharSequence containing the requested date.
Parameters | |
---|---|
inFormat |
CharSequence : the format string, as described in DateFormat |
inTimeInMillis |
long : in milliseconds since Jan 1, 1970 GMT |
Returns | |
---|---|
CharSequence |
a CharSequence containing the requested text |
getBestDateTimePattern
public static String getBestDateTimePattern (Locale locale, String skeleton)
Returns the best possible localized form of the given skeleton for the given locale. A skeleton is similar to, and uses the same format characters as, a Unicode UTS #35 pattern.
One difference is that order is irrelevant. For example, "MMMMd" will return
"MMMM d" in the en_US
locale, but "d. MMMM" in the de_CH
locale.
Note also in that second example that the necessary punctuation for German was
added. For the same input in es_ES
, we'd have even more extra text:
"d 'de' MMMM".
This method will automatically correct for grammatical necessity. Given the
same "MMMMd" input, this method will return "d LLLL" in the fa_IR
locale,
where stand-alone months are necessary. Lengths are preserved where meaningful,
so "Md" would give a different result to "MMMd", say, except in a locale such as
ja_JP
where there is only one length of month.
This method will only return patterns that are in CLDR, and is useful whenever you know what elements you want in your format string but don't want to make your code specific to any one locale.
Parameters | |
---|---|
locale |
Locale : the locale into which the skeleton should be localized |
skeleton |
String : a skeleton as described above |
Returns | |
---|---|
String |
a string pattern suitable for use with SimpleDateFormat . |
getDateFormat
public static DateFormat getDateFormat (Context context)
Returns a DateFormat
object that can format the date
in short form according to the context's locale.
Parameters | |
---|---|
context |
Context : the application context |
Returns | |
---|---|
DateFormat |
the DateFormat object that properly formats the date. |
getDateFormatOrder
public static char[] getDateFormatOrder (Context context)
Gets the current date format stored as a char array. Returns a 3 element
array containing the day ('d'
), month ('M'
), and year ('y'
))
in the order specified by the user's format preference. Note that this order is
only appropriate for all-numeric dates; spelled-out (MEDIUM and LONG)
dates will generally contain other punctuation, spaces, or words,
not just the day, month, and year, and not necessarily in the same
order returned here.
Parameters | |
---|---|
context |
Context |
Returns | |
---|---|
char[] |
getLongDateFormat
public static DateFormat getLongDateFormat (Context context)
Returns a DateFormat
object that can format the date
in long form (such as Monday, January 3, 2000
) for the context's locale.
Parameters | |
---|---|
context |
Context : the application context |
Returns | |
---|---|
DateFormat |
the DateFormat object that formats the date in long form. |
getMediumDateFormat
public static DateFormat getMediumDateFormat (Context context)
Returns a DateFormat
object that can format the date
in medium form (such as Jan 3, 2000
) for the context's locale.
Parameters | |
---|---|
context |
Context : the application context |
Returns | |
---|---|
DateFormat |
the DateFormat object that formats the date in long form. |
getTimeFormat
public static DateFormat getTimeFormat (Context context)
Returns a DateFormat
object that can format the time according
to the context's locale and the user's 12-/24-hour clock preference.
Parameters | |
---|---|
context |
Context : the application context |
Returns | |
---|---|
DateFormat |
the DateFormat object that properly formats the time. |
is24HourFormat
public static boolean is24HourFormat (Context context)
Returns true if times should be formatted as 24 hour times, false if times should be formatted as 12 hour (AM/PM) times. Based on the user's chosen locale and other preferences.
Parameters | |
---|---|
context |
Context : the context to use for the content resolver |
Returns | |
---|---|
boolean |
true if 24 hour time format is selected, false otherwise. |