Package org.joda.time

Class DateTimeFieldType

java.lang.Object
org.joda.time.DateTimeFieldType
All Implemented Interfaces:
Serializable

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
Author:
Stephen Colebourne, Brian S O'Neill
See Also:
  • 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