Package org.orekit.time
The principal class is AbsoluteDate
which represents a unique instant in time, with no ambiguity. For that
purpose, the ways to define this object are quite strict.
The easiest and most evident way is to define an instant with an offset from another one. Orekit defines 9 reference epochs. The first 6 are commonly used in the space community, the seventh one is commonly used in the computer science field and the last two are convenient for initialization in min/max research loops:
Julian Epoch
: -4712-01-01 at 12:00:00, TTScaleModified Julian Epoch
: 1858-11-17 at 00:00:00, TTScaleFifties Epoch
: 1950-01-01 at 00:00:00, TTScaleCCSDS Epoch
: 1958-01-01 at 00:00:00, TAIScaleGPS Epoch
: 1980-01-06 at 00:00:00, UTCScaleJ2000 Epoch
: 2000-01-01 at 12:00:00, TTScaleJava Epoch
: 1970-01-01 at 00:00:00, TTScalePast infinity
: at infinity in the past,Future infinity
: at infinity in the future.
The second definition, which could be the source of some confusion if not used with care, is by giving a location (a date) in a specific time scale. It is of prime importance to understand the various available time scales definitions to avoid mistakes. Orekit provides 9 of the most important ones:
TAIScale
: International Atomic Time,TTScale
: Terrestrial Time as defined by IAU(1991) recommendation IV. Coordinate time at the surface of the Earth. It is the successor of Ephemeris Time TE. By convention, TT = TAI + 32.184 s,UTCScale
: Coordinated Universal Time. UTC is related to TAI using step adjustments from time to time according to IERS (International Earth Rotation Service) rules. These adjustments require introduction of leap seconds. Some leaps are already known and predefined in the library (at least from 1972-01-01 to 2009-01-01) and other ones can be supported by providing UTC-TAI.history files using the data loading mechanism provided byDataProvidersManager
,UT1Scale
: Universal Time 1. UT1 is a time scale directly linked to the actual rotation of the Earth. It is an irregular scale, reflecting Earth irregular rotation rate. The offset between UT1 andUTCScale
is found in the Earth Orientation Parameters published by IERS,TCGScale
: Geocentric Coordinate Time. Coordinate time at the center of mass of the Earth. This time scale depends linearly on TTScale,TDBScale
: Barycentric Dynamic Time. Time used to compute ephemerides in the solar system. This time is offset with respect to TT by small relativistic corrections due to Earth motion,TCBScale
: Barycentric Coordinate Time. Coordinate time used for computations in the solar system. This time scale depends linearly on TDBScale,GPSScale
: Global Positioning System reference scale. This scale was equal to UTC at start of theGPS Epoch
when it was 19 seconds behind TAI, and remained parallel to TAI since then (i.e. UTC is now offset from GPS due to leap seconds). TGPS = TAI - 19 s,GMSTScale
: Greenwich Mean Sidereal Time scale. The Greenwich Mean Sidereal Time is the hour angle between the meridian of Greenwich and mean equinox of date at 0h UT1.
Once it is built, an AbsoluteDate
can be compared to
other ones, and expressed in other time scales. It is used to define states,
orbits, frames... Classes that include a date implement the TimeStamped
interface.
The ChronologicalComparator
singleton can sort objects
implementing this interface chronologically.
- Author:
- L. Maisonobe
-
Interface Summary Interface Description DatesSelector Interface for selecting dates within an interval.FieldTimeInterpolable<T extends FieldTimeInterpolable<T,KK>,KK extends org.hipparchus.RealFieldElement<KK>> This interface represents objects that can be interpolated in time.FieldTimeShiftable<T extends FieldTimeInterpolable<T,KK>,KK extends org.hipparchus.RealFieldElement<KK>> This interface represents objects that can be shifted in time.FieldTimeStamped<T extends org.hipparchus.RealFieldElement<T>> This interface represents objects that have aAbsoluteDate
date attached to them.TimeInterpolable<T extends TimeInterpolable<T>> This interface represents objects that can be interpolated in time.TimeScalarFunction This interface represents a scalar function of time.TimeScale Interface for time scales.TimeShiftable<T extends TimeShiftable<T>> This interface represents objects that can be shifted in time.TimeStamped This interface represents objects that have aAbsoluteDate
date attached to them.TimeVectorFunction This interface represents a multi-valued function of time.UTCTAIOffsetsLoader Interface for loading UTC-TAI offsets data files. -
Class Summary Class Description AbsoluteDate This class represents a specific instant in time.BDTScale Beidou system time scale.BurstSelector Selector generating high rate bursts of dates separated by some rest period.ChronologicalComparator Comparator forTimeStamped
instance.DateComponents Class representing a date broken up as year, month and day components.DateTimeComponents Holder for date and time components.FieldAbsoluteDate<T extends org.hipparchus.RealFieldElement<T>> This class represents a specific instant in time.FixedStepSelector Selector generating a continuous stream of dates separated by a constant step.GalileoScale Galileo system time scale.GLONASSScale GLONASS time scale.GMSTScale Greenwich Mean Sidereal Time.GPSDate Container for date in GPS form.GPSScale GPS time scale.IRNSSScale IRNSS time scale (also called IRNWT for IRNSS NetWork Time).OffsetModel TAI UTC offset model.QZSSScale QZSS time scale.TAIScale International Atomic Time.TAIUTCDatFilesLoader Loader for UTC-TAI extracted from tai-utc.dat file from USNO.TCBScale Barycentric Coordinate Time.TCGScale Geocentric Coordinate Time.TDBScale Barycentric Dynamic Time.TimeComponents Class representing a time within the day broken up as hour, minute and second components.TimeScalesFactory Factory for predefined time scales.TTScale Terrestrial Time as defined by IAU(1991) recommendation IV.UT1Scale Universal Time 1.UTCScale Coordinated Universal Time.UTCTAIBulletinAFilesLoader Loader for UTC-TAI extracted from bulletin A files.UTCTAIHistoryFilesLoader Loader for UTC versus TAI history files. -
Enum Summary Enum Description Month Enumerate representing a calendar month.