java.text
Class DateFormat

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:

myString = DateFormat.getDateInstance().format(myDate);

If you are formatting multiple dates, it is
more efficient to get the format and use it multiple times so that
the system doesn't have to fetch the information about the local
language and country conventions multiple times.

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:

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.

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.

calendar

The calendar that DateFormat 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
this DateFormat.

DATE_FIELD

HOUR_OF_DAY1_FIELD

public static final int HOUR_OF_DAY1_FIELD

Useful constant for one-based HOUR_OF_DAY field alignment.
Used in FieldPosition of date/time formatting.
HOUR_OF_DAY1_FIELD is used for the one-based 24-hour clock.
For example, 23:59 + 01:00 results in 24:59.

HOUR_OF_DAY0_FIELD

public static final int HOUR_OF_DAY0_FIELD

Useful constant for zero-based HOUR_OF_DAY field alignment.
Used in FieldPosition of date/time formatting.
HOUR_OF_DAY0_FIELD is used for the zero-based 24-hour clock.
For example, 23:59 + 01:00 results in 00:59.

AM_PM_FIELD

HOUR1_FIELD

public static final int HOUR1_FIELD

Useful constant for one-based HOUR field alignment.
Used in FieldPosition of date/time formatting.
HOUR1_FIELD is used for the one-based 12-hour clock.
For example, 11:30 PM + 1 hour results in 12:30 AM.

HOUR0_FIELD

public static final int HOUR0_FIELD

Useful constant for zero-based HOUR field alignment.
Used in FieldPosition of date/time formatting.
HOUR0_FIELD is used for the zero-based 12-hour clock.
For example, 11:30 PM + 1 hour results in 00:30 AM.

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'.

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'.

parse

Parse 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).

Parameters:

source - The date/time string to be parsed

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.

parseObject

The method attempts to parse text starting at the index given by
pos.
If parsing succeeds, then the index of pos is updated
to the index after the last character used (parsing does not necessarily
use all characters up to the end of the string), and the parsed
date is returned. The updated pos can be used to
indicate the starting point for the next call to this method.
If an error occurs, then the index of pos is not
changed, the error index of pos is set to the index of
the character where the error occurred, and null is returned.

getTimeZone

setLenient

public void setLenient(boolean lenient)

Specify whether or not 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. With strict parsing,
inputs must match this object's format.

A script enabled browser is required for this page to function properly.A script enabled browser is required for this page to function properly.A script enabled browser is required for this page to function properly.A script enabled browser is required for this page to function properly.A script enabled browser is required for this page to function properly.