DateFormat Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
DateFormat
is an abstract class for date/time formatting subclasses which
formats and parses dates or time in a language-independent manner.
[Android.Runtime.Register("java/text/DateFormat", DoNotGenerateAcw=true)]
public abstract class DateFormat : Java.Text._Format
[<Android.Runtime.Register("java/text/DateFormat", DoNotGenerateAcw=true)>]
type DateFormat = class
inherit _Format
- Inheritance
- Derived
- Attributes
Remarks
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
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 detail and examples of using these styles are provided in the method descriptions.
DateFormat
helps you to format and parse dates for any locale. Your code can be completely independent of the locale conventions for months, days of the week, or even the calendar format: lunar vs. solar.
To format a date for the current Locale, use one of the static factory methods: <blockquote>
{@code
myString = DateFormat.getDateInstance().format(myDate);
}
</blockquote>
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. <blockquote>
{@code
DateFormat df = DateFormat.getDateInstance();
for (int i = 0; i < myDate.length; ++i) {
output.println(df.format(myDate[i]) + "; ");
}
}
</blockquote>
To format a date for a different Locale, specify it in the call to #getDateInstance(int, Locale) getDateInstance()
. <blockquote>
{@code
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
}
</blockquote>
You can use a DateFormat to parse also. <blockquote>
{@code
myDate = df.parse(myString);
}
</blockquote>
Use getDateInstance
to get the normal date format for that country. There are other static factory methods available. 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: <ul><li>#SHORT
is completely numeric, such as 12.13.52
or 3:30pm
<li>#MEDIUM
is longer, such as Jan 12, 1952
<li>#LONG
is longer, such as January 12, 1952
or 3:30:32pm
<li>#FULL
is pretty completely specified, such as Tuesday, April 12, 1952 AD or 3:30:42pm PST
. </ul>
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 <ul><li>progressively parse through pieces of a string. <li>align any particular field, or find out where it is for selection on the screen. </ul>
<h2>"synchronization">Synchronization</h2>
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.
Added in 1.1.
Java documentation for java.text.DateFormat
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
DateFormat() |
Create a new date format. |
DateFormat(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
Fields
AmPmField |
Useful constant for AM_PM field alignment. |
DateField |
Useful constant for DATE field alignment. |
DayOfWeekField |
Useful constant for DAY_OF_WEEK field alignment. |
DayOfWeekInMonthField |
Useful constant for DAY_OF_WEEK_IN_MONTH field alignment. |
DayOfYearField |
Useful constant for DAY_OF_YEAR field alignment. |
Default |
Constant for default style pattern. |
EraField |
Useful constant for ERA field alignment. |
Full |
Constant for full style pattern. |
Hour0Field |
Useful constant for zero-based HOUR field alignment. |
Hour1Field |
Useful constant for one-based HOUR field alignment. |
HourOfDay0Field |
Useful constant for zero-based HOUR_OF_DAY field alignment. |
HourOfDay1Field |
Useful constant for one-based HOUR_OF_DAY field alignment. |
Long |
Constant for long style pattern. |
Medium |
Constant for medium style pattern. |
MillisecondField |
Useful constant for MILLISECOND field alignment. |
MinuteField |
Useful constant for MINUTE field alignment. |
MonthField |
Useful constant for MONTH field alignment. |
SecondField |
Useful constant for SECOND field alignment. |
Short |
Constant for short style pattern. |
TimezoneField |
Useful constant for TIMEZONE field alignment. |
WeekOfMonthField |
Useful constant for WEEK_OF_MONTH field alignment. |
WeekOfYearField |
Useful constant for WEEK_OF_YEAR field alignment. |
YearField |
Useful constant for YEAR field alignment. |
Properties
Calendar |
Gets the calendar associated with this date/time formatter. -or- Set the calendar to be used by this date format. |
Class |
Returns the runtime class of this |
DateInstance |
Gets the date formatter with the default formatting style
for the default |
DateTimeInstance |
Gets the date/time formatter with the default formatting style
for the default |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
Instance |
Get a default date/time formatter that uses the SHORT style for both the date and the time. |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
Lenient |
Tell whether date/time parsing is to be lenient. -or- Specify whether or not date/time parsing is to be lenient. |
NumberFormat |
Gets the number formatter which this date/time formatter uses to format and parse a time. -or- Allows you to set the number formatter. |
PeerReference | (Inherited from Object) |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
TimeInstance |
Gets the time formatter with the default formatting style
for the default |
TimeZone |
Gets the time zone. -or- Sets the time zone for the calendar of this |
Methods
Clone() |
Creates and returns a copy of this object. (Inherited from _Format) |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
Format(Date) |
Formats a |
Format(Date, StringBuffer, FieldPosition) |
Formats a |
Format(Object) |
Formats an object to produce a string. (Inherited from _Format) |
Format(Object, StringBuffer, FieldPosition) |
Formats the given |
FormatToCharacterIterator(Object) |
Formats an Object producing an |
GetAvailableLocales() |
Returns an array of all locales for which the
|
GetDateInstance(Int32) |
Gets the date formatter with the given formatting style
for the default |
GetDateInstance(Int32, Locale) |
Gets the date formatter with the given formatting style for the given locale. |
GetDateTimeInstance(Int32, Int32) |
Gets the date/time formatter with the given date and time
formatting styles for the default |
GetDateTimeInstance(Int32, Int32, Locale) |
Gets the date/time formatter with the given formatting styles for the given locale. |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetTimeInstance(Int32) |
Gets the time formatter with the given formatting style
for the default |
GetTimeInstance(Int32, Locale) |
Gets the time formatter with the given formatting style for the given locale. |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
Parse(String) |
Parses text from the beginning of the given string to produce a date. |
Parse(String, ParsePosition) |
Parse a date/time string according to the given parse position. |
ParseObject(String) |
Parses text from the beginning of the given string to produce an object. (Inherited from _Format) |
ParseObject(String, ParsePosition) |
Parses text from a string to produce a |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |