Package org.joda.time

Class DateTimeFieldType

java.lang.Object
org.joda.time.DateTimeFieldType
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
DateTimeFieldType.StandardDateTimeFieldType

public abstract class DateTimeFieldType extends Object implements Serializable
Identifies a field, such as year or minuteOfHour, in a chronology-neutral way.

A field type defines the type of the field, such as hourOfDay. If does not directly enable any calculations, however it does provide a getField(Chronology) method that returns the actual calculation engine for a particular chronology. It also provides access to the related DurationFieldTypes.

Instances of DateTimeFieldType are singletons. They can be compared using ==.

If required, you can create your own field, for example a quarterOfYear. You must create a subclass of DateTimeFieldType that defines the field type. This class returns the actual calculation engine from getField(Chronology). The subclass should implement equals and hashCode.

Since:
1.0
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version
      See Also:
    • ERA

      static final byte ERA
      Ordinal values for standard field types.
      See Also:
    • YEAR_OF_ERA

      static final byte YEAR_OF_ERA
      Ordinal values for standard field types.
      See Also:
    • CENTURY_OF_ERA

      static final byte CENTURY_OF_ERA
      Ordinal values for standard field types.
      See Also:
    • YEAR_OF_CENTURY

      static final byte YEAR_OF_CENTURY
      Ordinal values for standard field types.
      See Also:
    • YEAR

      static final byte YEAR
      Ordinal values for standard field types.
      See Also:
    • DAY_OF_YEAR

      static final byte DAY_OF_YEAR
      Ordinal values for standard field types.
      See Also:
    • MONTH_OF_YEAR

      static final byte MONTH_OF_YEAR
      Ordinal values for standard field types.
      See Also:
    • DAY_OF_MONTH

      static final byte DAY_OF_MONTH
      Ordinal values for standard field types.
      See Also:
    • WEEKYEAR_OF_CENTURY

      static final byte WEEKYEAR_OF_CENTURY
      Ordinal values for standard field types.
      See Also:
    • WEEKYEAR

      static final byte WEEKYEAR
      Ordinal values for standard field types.
      See Also:
    • WEEK_OF_WEEKYEAR

      static final byte WEEK_OF_WEEKYEAR
      Ordinal values for standard field types.
      See Also:
    • DAY_OF_WEEK

      static final byte DAY_OF_WEEK
      Ordinal values for standard field types.
      See Also:
    • HALFDAY_OF_DAY

      static final byte HALFDAY_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • HOUR_OF_HALFDAY

      static final byte HOUR_OF_HALFDAY
      Ordinal values for standard field types.
      See Also:
    • CLOCKHOUR_OF_HALFDAY

      static final byte CLOCKHOUR_OF_HALFDAY
      Ordinal values for standard field types.
      See Also:
    • CLOCKHOUR_OF_DAY

      static final byte CLOCKHOUR_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • HOUR_OF_DAY

      static final byte HOUR_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • MINUTE_OF_DAY

      static final byte MINUTE_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • MINUTE_OF_HOUR

      static final byte MINUTE_OF_HOUR
      Ordinal values for standard field types.
      See Also:
    • SECOND_OF_DAY

      static final byte SECOND_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • SECOND_OF_MINUTE

      static final byte SECOND_OF_MINUTE
      Ordinal values for standard field types.
      See Also:
    • MILLIS_OF_DAY

      static final byte MILLIS_OF_DAY
      Ordinal values for standard field types.
      See Also:
    • MILLIS_OF_SECOND

      static final byte MILLIS_OF_SECOND
      Ordinal values for standard field types.
      See Also:
    • ERA_TYPE

      private static final DateTimeFieldType ERA_TYPE
      The era field type.
    • YEAR_OF_ERA_TYPE

      private static final DateTimeFieldType YEAR_OF_ERA_TYPE
      The yearOfEra field type.
    • CENTURY_OF_ERA_TYPE

      private static final DateTimeFieldType CENTURY_OF_ERA_TYPE
      The centuryOfEra field type.
    • YEAR_OF_CENTURY_TYPE

      private static final DateTimeFieldType YEAR_OF_CENTURY_TYPE
      The yearOfCentury field type.
    • YEAR_TYPE

      private static final DateTimeFieldType YEAR_TYPE
      The year field type.
    • DAY_OF_YEAR_TYPE

      private static final DateTimeFieldType DAY_OF_YEAR_TYPE
      The dayOfYear field type.
    • MONTH_OF_YEAR_TYPE

      private static final DateTimeFieldType MONTH_OF_YEAR_TYPE
      The monthOfYear field type.
    • DAY_OF_MONTH_TYPE

      private static final DateTimeFieldType DAY_OF_MONTH_TYPE
      The dayOfMonth field type.
    • WEEKYEAR_OF_CENTURY_TYPE

      private static final DateTimeFieldType WEEKYEAR_OF_CENTURY_TYPE
      The weekyearOfCentury field type.
    • WEEKYEAR_TYPE

      private static final DateTimeFieldType WEEKYEAR_TYPE
      The weekyear field type.
    • WEEK_OF_WEEKYEAR_TYPE

      private static final DateTimeFieldType WEEK_OF_WEEKYEAR_TYPE
      The weekOfWeekyear field type.
    • DAY_OF_WEEK_TYPE

      private static final DateTimeFieldType DAY_OF_WEEK_TYPE
      The dayOfWeek field type.
    • HALFDAY_OF_DAY_TYPE

      private static final DateTimeFieldType HALFDAY_OF_DAY_TYPE
      The halfday field type.
    • HOUR_OF_HALFDAY_TYPE

      private static final DateTimeFieldType HOUR_OF_HALFDAY_TYPE
      The hourOfHalfday field type.
    • CLOCKHOUR_OF_HALFDAY_TYPE

      private static final DateTimeFieldType CLOCKHOUR_OF_HALFDAY_TYPE
      The clockhourOfHalfday field type.
    • CLOCKHOUR_OF_DAY_TYPE

      private static final DateTimeFieldType CLOCKHOUR_OF_DAY_TYPE
      The clockhourOfDay field type.
    • HOUR_OF_DAY_TYPE

      private static final DateTimeFieldType HOUR_OF_DAY_TYPE
      The hourOfDay field type.
    • MINUTE_OF_DAY_TYPE

      private static final DateTimeFieldType MINUTE_OF_DAY_TYPE
      The minuteOfDay field type.
    • MINUTE_OF_HOUR_TYPE

      private static final DateTimeFieldType MINUTE_OF_HOUR_TYPE
      The minuteOfHour field type.
    • SECOND_OF_DAY_TYPE

      private static final DateTimeFieldType SECOND_OF_DAY_TYPE
      The secondOfDay field type.
    • SECOND_OF_MINUTE_TYPE

      private static final DateTimeFieldType SECOND_OF_MINUTE_TYPE
      The secondOfMinute field type.
    • MILLIS_OF_DAY_TYPE

      private static final DateTimeFieldType MILLIS_OF_DAY_TYPE
      The millisOfDay field type.
    • MILLIS_OF_SECOND_TYPE

      private static final DateTimeFieldType MILLIS_OF_SECOND_TYPE
      The millisOfSecond field type.
    • iName

      private final String iName
      The name of the field.
  • Constructor Details

    • DateTimeFieldType

      protected DateTimeFieldType(String name)
      Constructor.
      Parameters:
      name - the name to use
  • Method Details

    • millisOfSecond

      public static DateTimeFieldType millisOfSecond()
      Get the millis of second field type.
      Returns:
      the DateTimeFieldType constant
    • millisOfDay

      public static DateTimeFieldType millisOfDay()
      Get the millis of day field type.

      This measures the milliseconds from the start of the day on the local time-line. On a daylight saving date, this means that some values will be missed (in spring) or duplicated (in autumn/fall).

      Returns:
      the DateTimeFieldType constant
    • secondOfMinute

      public static DateTimeFieldType secondOfMinute()
      Get the second of minute field type.
      Returns:
      the DateTimeFieldType constant
    • secondOfDay

      public static DateTimeFieldType secondOfDay()
      Get the second of day field type.

      This measures the seconds from the start of the day on the local time-line. On a daylight saving date, this means that some values will be missed (in spring) or duplicated (in autumn/fall).

      Returns:
      the DateTimeFieldType constant
    • minuteOfHour

      public static DateTimeFieldType minuteOfHour()
      Get the minute of hour field type.
      Returns:
      the DateTimeFieldType constant
    • minuteOfDay

      public static DateTimeFieldType minuteOfDay()
      Get the minute of day field type.

      This measures the minutes from the start of the day on the local time-line. On a daylight saving date, this means that some values will be missed (in spring) or duplicated (in autumn/fall).

      Returns:
      the DateTimeFieldType constant
    • hourOfDay

      public static DateTimeFieldType hourOfDay()
      Get the hour of day (0-23) field type.
      Returns:
      the DateTimeFieldType constant
    • clockhourOfDay

      public static DateTimeFieldType clockhourOfDay()
      Get the hour of day (offset to 1-24) field type.
      Returns:
      the DateTimeFieldType constant
    • hourOfHalfday

      public static DateTimeFieldType hourOfHalfday()
      Get the hour of am/pm (0-11) field type.
      Returns:
      the DateTimeFieldType constant
    • clockhourOfHalfday

      public static DateTimeFieldType clockhourOfHalfday()
      Get the hour of am/pm (offset to 1-12) field type.
      Returns:
      the DateTimeFieldType constant
    • halfdayOfDay

      public static DateTimeFieldType halfdayOfDay()
      Get the AM(0) PM(1) field type.
      Returns:
      the DateTimeFieldType constant
    • dayOfWeek

      public static DateTimeFieldType dayOfWeek()
      Get the day of week field type.
      Returns:
      the DateTimeFieldType constant
    • dayOfMonth

      public static DateTimeFieldType dayOfMonth()
      Get the day of month field type.
      Returns:
      the DateTimeFieldType constant
    • dayOfYear

      public static DateTimeFieldType dayOfYear()
      Get the day of year field type.
      Returns:
      the DateTimeFieldType constant
    • weekOfWeekyear

      public static DateTimeFieldType weekOfWeekyear()
      Get the week of a week based year field type.
      Returns:
      the DateTimeFieldType constant
    • weekyear

      public static DateTimeFieldType weekyear()
      Get the year of a week based year field type.
      Returns:
      the DateTimeFieldType constant
    • weekyearOfCentury

      public static DateTimeFieldType weekyearOfCentury()
      Get the year of a week based year within a century field type.
      Returns:
      the DateTimeFieldType constant
    • monthOfYear

      public static DateTimeFieldType monthOfYear()
      Get the month of year field type.
      Returns:
      the DateTimeFieldType constant
    • year

      public static DateTimeFieldType year()
      Get the year field type.
      Returns:
      the DateTimeFieldType constant
    • yearOfEra

      public static DateTimeFieldType yearOfEra()
      Get the year of era field type.
      Returns:
      the DateTimeFieldType constant
    • yearOfCentury

      public static DateTimeFieldType yearOfCentury()
      Get the year of century field type.
      Returns:
      the DateTimeFieldType constant
    • centuryOfEra

      public static DateTimeFieldType centuryOfEra()
      Get the century of era field type.
      Returns:
      the DateTimeFieldType constant
    • era

      public static DateTimeFieldType era()
      Get the era field type.
      Returns:
      the DateTimeFieldType constant
    • getName

      public String getName()
      Get the name of the field.

      By convention, names follow a pattern of "dddOfRrr", where "ddd" represents the (singular) duration unit field name and "Rrr" represents the (singular) duration range field name. If the range field is not applicable, then the name of the field is simply the (singular) duration field name.

      Returns:
      field name
    • getDurationType

      public abstract DurationFieldType getDurationType()
      Get the duration unit of the field.
      Returns:
      duration unit of the field, never null
    • getRangeDurationType

      public abstract DurationFieldType getRangeDurationType()
      Get the duration range of the field.
      Returns:
      duration range of the field, null if unbounded
    • getField

      public abstract DateTimeField getField(Chronology chronology)
      Gets a suitable field for this type from the given Chronology.
      Parameters:
      chronology - the chronology to use, null means ISOChronology in default zone
      Returns:
      a suitable field
    • isSupported

      public boolean isSupported(Chronology chronology)
      Checks whether this field supported in the given Chronology.
      Parameters:
      chronology - the chronology to use, null means ISOChronology in default zone
      Returns:
      true if supported
    • toString

      public String toString()
      Get a suitable debug string.
      Overrides:
      toString in class Object
      Returns:
      debug string