Skip to main content
`Ctrl`+`K`

# TimeDecimalYear

class astropy.time.TimeDecimalYear(val1, val2, scale, precision, in_subfmt, out_subfmt, from_jd=False)

  Bases: `TimeNumeric`

  Time as a decimal year, with integer values corresponding to midnight of the first day of each year.

  The fractional part represents the exact fraction of the year, considering the precise number of days in the year (365 or 366). The following example shows essentially how the decimal year is computed:

      >>> from astropy.time import Time
      >>> tm = Time("2024-04-05T12:34:00")
      >>> tm0 = Time("2024-01-01T00:00:00")
      >>> tm1 = Time("2025-01-01T00:00:00")
      >>> print(2024 + (tm.jd - tm0.jd) / (tm1.jd - tm0.jd))
      2024.2609934729812
      >>> print(tm.decimalyear)
      2024.2609934729812

  Since for this format the length of the year varies between 365 and 366 days, it is not possible to use Quantity input, in which a year is always 365.25 days.

  This format is convenient for low-precision applications or for plotting data.

  Attributes Summary

  `in_subfmt` |
  `jd1` |
  `jd2` |
  `name` |
  `out_subfmt` |
  `precision` |
  `scale` | Time scale.
  `subfmts` |
  `value` | Return time representation from internal jd1 and jd2.

  Methods Summary

  `fill_value`(subfmt) | Return a value corresponding to J2000 (2000-01-01 12:00:00) in this format.
  `set_jds`(val1, val2) | Set internal jd1 and jd2 from val1 and val2.
  `to_value`(**kwargs) | Return time representation from internal jd1 and jd2.

  Attributes Documentation

  in_subfmt
  jd1
  jd2
  name = 'decimalyear'
  out_subfmt
  precision
  scale

    Time scale.

  subfmts = (('float', <class 'numpy.float64'>, None, <ufunc 'add'>), ('long', <class 'numpy.longdouble'>, <function longdouble_to_twoval>, <function twoval_to_longdouble>), ('decimal', <class 'numpy.object_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('str', <class 'numpy.str_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('bytes', <class 'numpy.bytes_'>, <numpy.vectorize object>, <numpy.vectorize object>))
  value

  Methods Documentation

  classmethod fill_value(subfmt)

    Return a value corresponding to J2000 (2000-01-01 12:00:00) in this format.

    This is used as a fill value for masked arrays to ensure that any ERFA operations on the masked array will not fail due to the masked value.

  set_jds(val1, val2)

    Set internal jd1 and jd2 from val1 and val2. Must be provided by derived classes.

  to_value(**kwargs)

    Return time representation from internal jd1 and jd2. Subclasses that require `parent` or to adjust the jds should override this method.