Package org.joda.time

Class DateTimeFieldType

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    DateTimeFieldType.StandardDateTimeFieldType

    public abstract class DateTimeFieldType
    extends java.lang.Object
    implements java.io.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:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serialization version
        See Also:
        Constant Field Values
      • YEAR_OF_ERA

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

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

        static final byte YEAR_OF_CENTURY
        Ordinal values for standard field types.
        See Also:
        Constant Field Values
      • DAY_OF_YEAR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        static final byte MILLIS_OF_SECOND
        Ordinal values for standard field types.
        See Also:
        Constant Field Values
      • 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.
      • 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 java.lang.String iName
        The name of the field.
    • Constructor Detail

      • DateTimeFieldType

        protected DateTimeFieldType​(java.lang.String name)
        Constructor.
        Parameters:
        name - the name to use
    • Method Detail

      • 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 java.lang.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 java.lang.String toString()
        Get a suitable debug string.
        Overrides:
        toString in class java.lang.Object
        Returns:
        debug string