to top
Android APIs
public class

DateFormat

extends Object
java.lang.Object
   ↳ android.text.format.DateFormat

Class Overview

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.

The format methods in this class takes as inputs a format string and a representation of a date/time. The format string controls how the output is generated. This class only supports a subset of the full Unicode specification. Use SimpleDateFormat if you need more. Formatting characters may be repeated in order to get more detailed representations of that field. For instance, the format character 'M' is used to represent the month. Depending on how many times that character is repeated you get a different representation.

For the month of September:
M -> 9
MM -> 09
MMM -> Sep
MMMM -> September

The effects of the duplication vary depending on the nature of the field. See the notes on the individual field formatters for details. For purely numeric fields such as HOUR adding more copies of the designator will zero-pad the value to that number of characters.

For 7 minutes past the hour:
m -> 7
mm -> 07
mmm -> 007
mmmm -> 0007

Examples for April 6, 1970 at 3:23am:
"MM/dd/yy h:mmaa" -> "04/06/70 3:23am"
"MMM dd, yyyy h:mmaa" -> "Apr 6, 1970 3:23am"
"MMMM dd, yyyy h:mmaa" -> "April 6, 1970 3:23am"
"E, MMMM dd, yyyy h:mmaa" -> "Mon, April 6, 1970 3:23am&
"EEEE, MMMM dd, yyyy h:mmaa" -> "Monday, April 6, 1970 3:23am"
"'Noteworthy day: 'M/d/yy" -> "Noteworthy day: 4/6/70"

Summary

Constants
char AM_PM This designator indicates whether the HOUR field is before or after noon.
char CAPITAL_AM_PM This designator indicates whether the HOUR field is before or after noon.
char DATE This designator indicates the day of the month.
char DAY This designator indicates the name of the day of the week.
char HOUR This designator indicates the hour of the day in 12 hour format.
char HOUR_OF_DAY This designator indicates the hour of the day in 24 hour format.
char MINUTE This designator indicates the minute of the hour.
char MONTH This designator indicates the month of the year.
char QUOTE Text in the format string that should be copied verbatim rather that interpreted as formatting codes must be surrounded by the QUOTE character.
char SECONDS This designator indicates the seconds of the minute.
char STANDALONE_MONTH This designator indicates the standalone month of the year, necessary in some format strings in some languages.
char TIME_ZONE This designator indicates the offset of the timezone from GMT.
char YEAR This designator indicates the year.
Public Constructors
DateFormat()
Public Methods
static CharSequence format(CharSequence inFormat, Calendar inDate)
Given a format string and a Calendar object, returns a CharSequence containing the requested date.
static CharSequence format(CharSequence inFormat, Date inDate)
Given a format string and a Date object, returns a CharSequence containing the requested date.
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 DateFormat getDateFormat(Context context)
Returns a DateFormat object that can format the date in short form (such as 12/31/1999) according to the current locale and the user's date-order preference.
static char[] getDateFormatOrder(Context context)
Gets the current date format stored as a char array.
static DateFormat getLongDateFormat(Context context)
Returns a DateFormat object that can format the date in long form (such as December 31, 1999) for the current locale.
static DateFormat getMediumDateFormat(Context context)
Returns a DateFormat object that can format the date in medium form (such as Dec.
static DateFormat getTimeFormat(Context context)
Returns a DateFormat object that can format the time according to the current locale and the user's 12-/24-hour clock preference.
static boolean is24HourFormat(Context context)
Returns true if user preference is set to 24-hour format.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final char AM_PM

Added in API level 3

This designator indicates whether the HOUR field is before or after noon. The output is lower-case. Examples: a -> a or p aa -> am or pm

Constant Value: 97 (0x00000061)

public static final char CAPITAL_AM_PM

Added in API level 3

This designator indicates whether the HOUR field is before or after noon. The output is capitalized. Examples: A -> A or P AA -> AM or PM

Constant Value: 65 (0x00000041)

public static final char DATE

Added in API level 3

This designator indicates the day of the month. Examples for the 9th of the month: d -> 9 dd -> 09

Constant Value: 100 (0x00000064)

public static final char DAY

Added in API level 3

This designator indicates the name of the day of the week. Examples for Sunday: E -> Sun EEEE -> Sunday

Constant Value: 69 (0x00000045)

public static final char HOUR

Added in API level 3

This designator indicates the hour of the day in 12 hour format. Examples for 3pm: h -> 3 hh -> 03

Constant Value: 104 (0x00000068)

public static final char HOUR_OF_DAY

Added in API level 3

This designator indicates the hour of the day in 24 hour format. Example for 3pm: k -> 15 Examples for midnight: k -> 0 kk -> 00

Constant Value: 107 (0x0000006b)

public static final char MINUTE

Added in API level 3

This designator indicates the minute of the hour. Examples for 7 minutes past the hour: m -> 7 mm -> 07

Constant Value: 109 (0x0000006d)

public static final char MONTH

Added in API level 3

This designator indicates the month of the year. See also STANDALONE_MONTH. Examples for September: M -> 9 MM -> 09 MMM -> Sep MMMM -> September

Constant Value: 77 (0x0000004d)

public static final char QUOTE

Added in API level 3

Text in the format string that should be copied verbatim rather that interpreted as formatting codes must be surrounded by the QUOTE character. If you need to embed a literal QUOTE character in the output text then use two in a row.

Constant Value: 39 (0x00000027)

public static final char SECONDS

Added in API level 3

This designator indicates the seconds of the minute. Examples for 7 seconds past the minute: s -> 7 ss -> 07

Constant Value: 115 (0x00000073)

public static final char STANDALONE_MONTH

Added in API level 17

This designator indicates the standalone month of the year, necessary in some format strings in some languages. For example, Russian distinguishes between the "June" in "June" and that in "June 2010".

Constant Value: 76 (0x0000004c)

public static final char TIME_ZONE

Added in API level 3

This designator indicates the offset of the timezone from GMT. Example for US/Pacific timezone: z -> -0800 zz -> PST

Constant Value: 122 (0x0000007a)

public static final char YEAR

Added in API level 3

This designator indicates the year. Examples for 2006 y -> 06 yyyy -> 2006

Constant Value: 121 (0x00000079)

Public Constructors

public DateFormat ()

Added in API level 3

Public Methods

public static CharSequence format (CharSequence inFormat, Calendar inDate)

Added in API level 3

Given a format string and a Calendar object, returns a CharSequence containing the requested date.

Parameters
inFormat the format string, as described in DateFormat
inDate the date to format
Returns

public static CharSequence format (CharSequence inFormat, Date inDate)

Added in API level 3

Given a format string and a Date object, returns a CharSequence containing the requested date.

Parameters
inFormat the format string, as described in DateFormat
inDate the date to format
Returns

public static CharSequence format (CharSequence inFormat, long inTimeInMillis)

Added in API level 3

Given a format string and a time in milliseconds since Jan 1, 1970 GMT, returns a CharSequence containing the requested date.

Parameters
inFormat the format string, as described in DateFormat
inTimeInMillis in milliseconds since Jan 1, 1970 GMT
Returns

public static DateFormat getDateFormat (Context context)

Added in API level 3

Returns a DateFormat object that can format the date in short form (such as 12/31/1999) according to the current locale and the user's date-order preference.

Parameters
context the application context
Returns
  • the DateFormat object that properly formats the date.

public static char[] getDateFormatOrder (Context context)

Added in API level 3

Gets the current date format stored as a char array. The array will contain 3 elements (DATE, MONTH, and YEAR) 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.

public static DateFormat getLongDateFormat (Context context)

Added in API level 3

Returns a DateFormat object that can format the date in long form (such as December 31, 1999) for the current locale.

Parameters
context the application context
Returns
  • the DateFormat object that formats the date in long form.

public static DateFormat getMediumDateFormat (Context context)

Added in API level 3

Returns a DateFormat object that can format the date in medium form (such as Dec. 31, 1999) for the current locale.

Parameters
context the application context
Returns
  • the DateFormat object that formats the date in long form.

public static DateFormat getTimeFormat (Context context)

Added in API level 3

Returns a DateFormat object that can format the time according to the current locale and the user's 12-/24-hour clock preference.

Parameters
context the application context
Returns
  • the DateFormat object that properly formats the time.

public static boolean is24HourFormat (Context context)

Added in API level 3

Returns true if user preference is set to 24-hour format.

Parameters
context the context to use for the content resolver
Returns
  • true if 24 hour time format is selected, false otherwise.