DateFormat.Field (Java SE 14 & JDK 14)
Description: declaration: module: java.base, package: java.text, class: DateFormat, class: Field
Keywords: java.text.DateFormat.Field class

Module java.base
Package java.text

# Class DateFormat.Field

java.lang.Object
java.text.AttributedCharacterIterator.Attribute
java.text.Format.Field
java.text.DateFormat.Field

All Implemented Interfaces:
  `Serializable`

Enclosing class:
  DateFormat

    public static class DateFormat.Field
    extends Format.Field

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

The class also provides two methods to map between its constants and the corresponding Calendar constants.

Since:
  1.4
See Also:
  `Calendar`, Serialized Form

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static DateFormat.Field` | `AM_PM` | Constant identifying the time of day indicator (e.g.
  `static DateFormat.Field` | `DAY_OF_MONTH` | Constant identifying the day of month field.
  `static DateFormat.Field` | `DAY_OF_WEEK` | Constant identifying the day of week field.
  `static DateFormat.Field` | `DAY_OF_WEEK_IN_MONTH` | Constant identifying the day of week field.
  `static DateFormat.Field` | `DAY_OF_YEAR` | Constant identifying the day of year field.
  `static DateFormat.Field` | `ERA` | Constant identifying the era field.
  `static DateFormat.Field` | `HOUR_OF_DAY0` | Constant identifying the hour of day field, where the legal values are 0 to 23.
  `static DateFormat.Field` | `HOUR_OF_DAY1` | Constant identifying the hour of day field, where the legal values are 1 to 24.
  `static DateFormat.Field` | `HOUR0` | Constant identifying the hour field, where the legal values are 0 to 11.
  `static DateFormat.Field` | `HOUR1` | Constant identifying the hour field, where the legal values are 1 to 12.
  `static DateFormat.Field` | `MILLISECOND` | Constant identifying the millisecond field.
  `static DateFormat.Field` | `MINUTE` | Constant identifying the minute field.
  `static DateFormat.Field` | `MONTH` | Constant identifying the month field.
  `static DateFormat.Field` | `SECOND` | Constant identifying the second field.
  `static DateFormat.Field` | `TIME_ZONE` | Constant identifying the time zone field.
  `static DateFormat.Field` | `WEEK_OF_MONTH` | Constant identifying the week of month field.
  `static DateFormat.Field` | `WEEK_OF_YEAR` | Constant identifying the week of year field.
  `static DateFormat.Field` | `YEAR` | Constant identifying the year field.

  ### Fields declared in class java.text.AttributedCharacterIterator.Attribute

  `INPUT_METHOD_SEGMENT, LANGUAGE, READING`

- ## Constructor Summary

  Constructors
  Modifier | Constructor | Description
  --- | --- | ---
  `protected` | `Field​(String name, int calendarField)` | Creates a `Field`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `int` | `getCalendarField()` | Returns the `Calendar` field associated with this attribute.
  `static DateFormat.Field` | `ofCalendarField​(int calendarField)` | Returns the `Field` constant that corresponds to the `Calendar` constant `calendarField`.
  `protected Object` | `readResolve()` | Resolves instances being deserialized to the predefined constants.

  ### Methods declared in class java.text.AttributedCharacterIterator.Attribute

  `equals, getName, hashCode, toString`

  ### Methods declared in class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### ERA

    public static final DateFormat.Field ERA
    Constant identifying the era field.

  - ### YEAR

    public static final DateFormat.Field YEAR
    Constant identifying the year field.

  - ### MONTH

    public static final DateFormat.Field MONTH
    Constant identifying the month field.

  - ### DAY_OF_MONTH

    public static final DateFormat.Field DAY_OF_MONTH
    Constant identifying the day of month field.

  - ### HOUR_OF_DAY1

    public static final DateFormat.Field HOUR_OF_DAY1
    Constant identifying the hour of day field, where the legal values are 1 to 24.

  - ### HOUR_OF_DAY0

    public static final DateFormat.Field HOUR_OF_DAY0
    Constant identifying the hour of day field, where the legal values are 0 to 23.

  - ### MINUTE

    public static final DateFormat.Field MINUTE
    Constant identifying the minute field.

  - ### SECOND

    public static final DateFormat.Field SECOND
    Constant identifying the second field.

  - ### MILLISECOND

    public static final DateFormat.Field MILLISECOND
    Constant identifying the millisecond field.

  - ### DAY_OF_WEEK

    public static final DateFormat.Field DAY_OF_WEEK
    Constant identifying the day of week field.

  - ### DAY_OF_YEAR

    public static final DateFormat.Field DAY_OF_YEAR
    Constant identifying the day of year field.

  - ### DAY_OF_WEEK_IN_MONTH

    public static final DateFormat.Field DAY_OF_WEEK_IN_MONTH
    Constant identifying the day of week field.

  - ### WEEK_OF_YEAR

    public static final DateFormat.Field WEEK_OF_YEAR
    Constant identifying the week of year field.

  - ### WEEK_OF_MONTH

    public static final DateFormat.Field WEEK_OF_MONTH
    Constant identifying the week of month field.

  - ### AM_PM

    public static final DateFormat.Field AM_PM
    Constant identifying the time of day indicator (e.g. "a.m." or "p.m.") field.

  - ### HOUR1

    public static final DateFormat.Field HOUR1
    Constant identifying the hour field, where the legal values are 1 to 12.

  - ### HOUR0

    public static final DateFormat.Field HOUR0
    Constant identifying the hour field, where the legal values are 0 to 11.

  - ### TIME_ZONE

    public static final DateFormat.Field TIME_ZONE
    Constant identifying the time zone field.

- ## Constructor Details

  - ### Field

    protected Field​(String name, int calendarField)
    Creates a `Field`.
    Parameters:
      `name` - the name of the `Field`
      `calendarField` - the `Calendar` constant this `Field` corresponds to; any value, even one outside the range of legal `Calendar` values may be used, but `-1` should be used for values that don't correspond to legal `Calendar` values

- ## Method Details

  - ### ofCalendarField

    public static DateFormat.Field ofCalendarField​(int calendarField)
    Returns the `Field` constant that corresponds to the `Calendar` constant `calendarField`. If there is no direct mapping between the `Calendar` constant and a `Field`, null is returned.
    Parameters:
      `calendarField` - Calendar field constant
    Returns:
      Field instance representing calendarField.
    Throws:
      `IllegalArgumentException` - if `calendarField` is not the value of a `Calendar` field constant.
    See Also:
      `Calendar`

  - ### getCalendarField

    public int getCalendarField()
    Returns the `Calendar` field associated with this attribute. For example, if this represents the hours field of a `Calendar`, this would return `Calendar.HOUR`. If there is no corresponding `Calendar` constant, this will return -1.
    Returns:
      Calendar constant for this field
    See Also:
      `Calendar`

  - ### readResolve

    protected Object readResolve() throws InvalidObjectException
    Resolves instances being deserialized to the predefined constants.
    Overrides:
      `readResolve` in class `AttributedCharacterIterator.Attribute`
    Returns:
      resolved DateFormat.Field constant
    Throws:
      `InvalidObjectException` - if the constant could not be resolved.