Java new date format string

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.

 DateFormat df = DateFormat.getDateInstance(); for (int i = 0; i

To format a date for a different Locale, specify it in the call to getDateInstance() .

 DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); 

If the specified locale contains «ca» (calendar), «rg» (region override), and/or «tz» (timezone) Unicode extensions, the calendar, the country and/or the time zone for formatting are overridden. If both «ca» and «rg» are specified, the calendar from the «ca» extension supersedes the implicit one from the «rg» extension.

You can use a DateFormat to parse also.

  • 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 .
Читайте также:  Metatrader 5 api java

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.

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

  • The format(Date, StringBuffer, FieldPosition) and parse(String, ParsePosition) methods may throw NullPointerException , if any of their parameter is null . The subclass may provide its own implementation and specification about NullPointerException .
  • The setCalendar(Calendar) , setNumberFormat(NumberFormat) and setTimeZone(TimeZone) methods do not throw NullPointerException when their parameter is null , but any subsequent operations on the same instance may throw NullPointerException .
  • The getCalendar() , getNumberFormat() and getTimeZone() methods may return null , if the respective values of this instance is set to null through the corresponding setter methods. For Example: getTimeZone() may return null , if the TimeZone value of this instance is set as setTimeZone(null) .
  • Format
  • NumberFormat
  • SimpleDateFormat
  • Calendar
  • GregorianCalendar
  • TimeZone
  • DateTimeFormatter
  • Serialized Form

Nested Class Summary

Defines constants that are used as attribute keys in the AttributedCharacterIterator returned from DateFormat.formatToCharacterIterator and as field identifiers in FieldPosition .

Field Summary

Constructor Summary

Method Summary

Returns an array of all locales for which the get*Instance methods of this class can return localized instances.

Gets the date/time formatter with the given date and time formatting styles for the default FORMAT locale.

Methods declared in class java.text.Format

Methods declared in class java.lang.Object

Field Details

calendar

The Calendar instance used for calculating the date-time fields and the instant of time. This field is used for both formatting and parsing. Subclasses should initialize this field to a Calendar appropriate for the Locale associated with this DateFormat .

Читайте также:  Python красивый вывод на консоль

numberFormat

The number formatter that DateFormat uses to format numbers in dates and times. Subclasses should initialize this to a number format appropriate for the locale associated with this DateFormat .

ERA_FIELD

YEAR_FIELD

MONTH_FIELD

DATE_FIELD

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

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.

MINUTE_FIELD

SECOND_FIELD

MILLISECOND_FIELD

DAY_OF_WEEK_FIELD

DAY_OF_YEAR_FIELD

DAY_OF_WEEK_IN_MONTH_FIELD

Useful constant for DAY_OF_WEEK_IN_MONTH field alignment. Used in FieldPosition of date/time formatting.

WEEK_OF_YEAR_FIELD

WEEK_OF_MONTH_FIELD

AM_PM_FIELD

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

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.

TIMEZONE_FIELD

FULL

LONG

MEDIUM

SHORT

DEFAULT

Constructor Details

DateFormat

Method Details

format

Formats the given Object into a date-time string. The formatted string is appended to the given StringBuffer .

format

public abstract StringBuffer format (Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)

format

parse

Parses text from the beginning of the given string to produce a date. The method may not use the entire text of the given string. See the parse(String, ParsePosition) method for more information on date parsing.

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(837039900000L) . 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) . This parsing operation uses the calendar to produce a Date . As a result, the calendar ‘s date-time fields and the TimeZone value may have been overwritten, depending on subclass implementations. Any TimeZone value that has previously been set by a call to setTimeZone may need to be restored for further operations.

Читайте также:  Ask user in python

parseObject

Parses text from a string to produce a Date . 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. See the parse(String, ParsePosition) method for more information on date parsing.

getTimeInstance

Gets the time formatter with the default formatting style for the default FORMAT locale. This is equivalent to calling getTimeInstance(DEFAULT, Locale.getDefault(Locale.Category.FORMAT)) .

getTimeInstance

Gets the time formatter with the given formatting style for the default FORMAT locale. This is equivalent to calling getTimeInstance(style, Locale.getDefault(Locale.Category.FORMAT)) .

getTimeInstance

getDateInstance

Gets the date formatter with the default formatting style for the default FORMAT locale. This is equivalent to calling getDateInstance(DEFAULT, Locale.getDefault(Locale.Category.FORMAT)) .

getDateInstance

Gets the date formatter with the given formatting style for the default FORMAT locale. This is equivalent to calling getDateInstance(style, Locale.getDefault(Locale.Category.FORMAT)) .

getDateInstance

getDateTimeInstance

Gets the date/time formatter with the default formatting style for the default FORMAT locale. This is equivalent to calling getDateTimeInstance(DEFAULT, DEFAULT, Locale.getDefault(Locale.Category.FORMAT)) .

getDateTimeInstance

Gets the date/time formatter with the given date and time formatting styles for the default FORMAT locale. This is equivalent to calling getDateTimeInstance(dateStyle, timeStyle, Locale.getDefault(Locale.Category.FORMAT)) .

getDateTimeInstance

getInstance

getAvailableLocales

Returns an array of all locales for which the get*Instance methods of this class can return localized instances. The returned array represents the union of locales supported by the Java runtime and by installed DateFormatProvider implementations. At a minimum, the returned array must contain a Locale instance equal to Locale.ROOT and a Locale instance equal to Locale.US .

setCalendar

Set the calendar to be used by this date format. Initially, the default calendar for the specified or default locale is used. Any TimeZone and leniency values that have previously been set are overwritten by newCalendar ‘s values.

Источник

Оцените статью