Class JulianAnnunciationMeanSolarDateTime

All Implemented Interfaces:
Serializable, Comparable<DateTime>, DateTime, OsidPrimitive, DateTime, OsidPrimitive

public final class JulianAnnunciationMeanSolarDateTime extends AbstractConfigurableDateTime implements DateTime
A Julian date reckoned in the Annunciation (Lady Day) style with a mean solar time of day.

The date and time behave exactly as JulianMeanSolarDateTime; the only difference is that the year turns on March 25, so a date from January 1 to March 24 prints a dual year ("1502/3"). The value is stored in ordinary proleptic-Julian (January-1) numbering, so the component factories take the January-1 year (1503 for a February date written 1502/3); the dual form is the display and the valueOf(String) input.

See Also:
  • Field Details

    • CALENDAR_TYPE

      protected static final Type CALENDAR_TYPE
      the OSID Type
  • Constructor Details

  • Method Details

    • valueOf

      public static DateTime valueOf(String iso)
      Parses a date string, accepting the Annunciation dual year ("1502/3-02-10").
      Parameters:
      iso - the formatted string
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - could not parse iso
      NullArgumentException - iso is null
      See Also:
    • datetime

      public static DateTime datetime(String iso)
      Parses a date string. Equivalent to valueOf(String).
      Parameters:
      iso - the formatted string
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - could not parse iso
      NullArgumentException - iso is null
      See Also:
    • valueOf

      public static DateTime valueOf(long year)
      Creates a DateTime at year resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - year is zero
      See Also:
    • datetime

      public static DateTime datetime(long year)
      Creates a DateTime at year resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - year is zero
      See Also:
    • valueOf

      public static DateTime valueOf(long year, long month)
      Creates a DateTime at month resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      See Also:
    • datetime

      public static DateTime datetime(long year, long month)
      Creates a DateTime at month resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      See Also:
    • valueOf

      public static DateTime valueOf(long year, long month, long day)
      Creates a DateTime at day resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      day - the day, from 1
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      See Also:
    • datetime

      public static DateTime datetime(long year, long month, long day)
      Creates a DateTime at day resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      day - the day, from 1
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      See Also:
    • valueOf

      public static DateTime valueOf(long year, long month, long day, Time time)
      Creates a DateTime at a date and time. The time's resolution sets the datetime's resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      day - the day, from 1
      time - the time of day (a mean solar time)
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      UnsupportedException - time is not a mean solar time
      NullArgumentException - time is null
      See Also:
    • datetime

      public static DateTime datetime(long year, long month, long day, Time time)
      Creates a DateTime at a date and time. The time's resolution sets the datetime's resolution.
      Parameters:
      year - the January-1 year (there is no year zero)
      month - the month, from 1
      day - the day, from 1
      time - the time of day (a mean solar time)
      Returns:
      a Julian (Annunciation) / mean-solar DateTime
      Throws:
      InvalidArgumentException - a component is out of range
      UnsupportedException - time is not a mean solar time
      NullArgumentException - time is null
      See Also:
    • infinity

      public static DateTime infinity()
      Gets an infinite date.
      Returns:
      an infinite date
    • unknown

      public static DateTime unknown()
      Gets an unknown date.
      Returns:
      an unknown date