24#include "AstCore/Constants.h"
25#include "AstCore/DateTime.hpp"
26#include "AstCore/JulianDate.hpp"
44template<
typename Time>
49template<
typename Time>
50A_ALWAYS_INLINE Time aTAIToTT(
const Time& tmTAI)
52 return tmTAI + kTTMinusTAI;
59template<
typename Time>
64template<
typename Time>
65A_ALWAYS_INLINE Time aTTToTAI(
const Time& tmTT)
67 return tmTT - kTTMinusTAI;
73template<
typename Time>
78template<
typename Time>
79A_ALWAYS_INLINE Time aTAIToGPS(
const Time& tmTAI)
81 return tmTAI + kGPSMinusTAI;
87template<
typename Time>
92template<
typename Time>
93A_ALWAYS_INLINE Time aGPSToTAI(
const Time& tmGPS)
95 return tmGPS - kGPSMinusTAI;
103AST_CORE_API
void aTAIToUTC(
const JulianDate& jdTAI, JulianDate& jdUTC);
104AST_CORE_API
void aTAIToUTC(
const DateTime& dttmTAI, DateTime& dttmUTC);
105A_ALWAYS_INLINE JulianDate
aTAIToUTC(
const JulianDate& jdTAI)
111A_ALWAYS_INLINE DateTime
aTAIToUTC(
const DateTime& dttmTAI)
124AST_CORE_API
void aUTCToTAI(
const JulianDate& jdUTC, JulianDate& jdTAI);
125AST_CORE_API
void aUTCToTAI(
const DateTime& dttmUTC, DateTime& dttmTAI);
127A_ALWAYS_INLINE JulianDate
aUTCToTAI(
const JulianDate& jdUTC)
133A_ALWAYS_INLINE DateTime
aUTCToTAI(
const DateTime& dttmUTC)
143AST_CORE_API
void aUTCToTT(
const JulianDate& jdUTC, JulianDate& jdTT);
144AST_CORE_API
void aUTCToTT(
const DateTime& dttmUTC, DateTime& dttmTT);
146A_ALWAYS_INLINE JulianDate
aUTCToTT(
const JulianDate& jdUTC)
152A_ALWAYS_INLINE DateTime
aUTCToTT(
const DateTime& dttmUTC)
160AST_CORE_API
void aUTCToUT1(
const JulianDate& jdUTC, JulianDate& jdUT1);
161AST_CORE_API
void aUTCToUT1(
const DateTime& dttmUTC, DateTime& dttmUT1);
166AST_CORE_API
void aTTToUTC(
const JulianDate& jdTT, JulianDate& jdUTC);
167AST_CORE_API
void aTTToUTC(
const DateTime& dttmTT, DateTime& dttmUTC);
169A_ALWAYS_INLINE JulianDate
aTTToUTC(
const JulianDate& jdTT)
175A_ALWAYS_INLINE DateTime
aTTToUTC(
const DateTime& dttmTT)
185AST_CORE_API
void aTTToTDB(
const JulianDate& jdTT, JulianDate& jdTDB);
186AST_CORE_API
void aTTToTDB(
const DateTime& dttmTT, DateTime& dttmTDB);
187A_ALWAYS_INLINE JulianDate
aTTToTDB(
const JulianDate& jdTT)
193A_ALWAYS_INLINE DateTime
aTTToTDB(
const DateTime& dttmTT)
201AST_CORE_API
void aTDBToTT(
const JulianDate& jdTDB, JulianDate& jdTT);
202AST_CORE_API
void aTDBToTT(
const DateTime& dttmTDB, DateTime& dttmTT);
203A_ALWAYS_INLINE JulianDate aTDBToTT(
const JulianDate& jdTDB)
206 aTDBToTT(jdTDB, jdTT);
209A_ALWAYS_INLINE DateTime aTDBToTT(
const DateTime& dttmTDB)
212 aTDBToTT(dttmTDB, dttmTT);
222AST_CORE_CAPI
double aTDBMinusTT(
const JulianDate& jdTT);
229AST_CORE_CAPI
double aTTMinusTDB(
const JulianDate& jdTDB);
void aTAIToUTC(const JulianDate &jdTAI, JulianDate &jdUTC)
从原子时(TAI) 转换为 协调世界时(UTC)
定义 TimeSystem.cpp:40
double aTTMinusTDB(const JulianDate &jdTDB)
计算 地球时(TT) 时间与 质心动力学时(TDB) 时间的差值
定义 TimeSystem.cpp:129
A_ALWAYS_INLINE void aGPSToTAI(const Time &tmGPS, Time &tmTAI)
从GPS时 转换为 原子时(TAI)
定义 TimeSystem.hpp:88
double aJulianCenturyFromJ2000(const JulianDate &jd)
计算儒略世纪数,以 J2000.0 为基准
定义 TimeSystem.cpp:30
A_ALWAYS_INLINE void aTAIToGPS(const Time &tmTAI, Time &tmGPS)
从原子时(TAI) 转换为 GPS时
定义 TimeSystem.hpp:74
double aTimePointToSpiceEt(const TimePoint &tp)
将 TimePoint 转换为 SPICE 时间
定义 TimeSystem.cpp:417
void aTTToUTC(const JulianDate &jdTT, JulianDate &jdUTC)
从地球时(TT) 转换为 协调世界时(UTC)
定义 TimeSystem.cpp:90
void aUTCToTAI(const JulianDate &jdUTC, JulianDate &jdTAI)
从协调世界时(UTC) 转换为 原子时(TAI)
定义 TimeSystem.cpp:56
A_ALWAYS_INLINE void aTAIToTT(const Time &tmTAI, Time &tmTT)
从原子时(TAI) 转换为 地球时(TT)
定义 TimeSystem.hpp:45
A_ALWAYS_INLINE void aTTToTAI(const Time &tmTT, Time &tmTAI)
从地球时(TT) 转换为 原子时(TAI)
定义 TimeSystem.hpp:60
double aTDBMinusTT(const JulianDate &jdTT)
计算 质心动力学时(TDB) 时间与 地球时(TT) 时间的差值
定义 TimeSystem.cpp:143
void aTTToTDB(const JulianDate &jdTT, JulianDate &jdTDB)
从地球时(TT) 转换为质心动力学时(TDB)
定义 TimeSystem.cpp:103
TimePoint aSpiceEtToTimePoint(double et)
将 SPICE 时间转换为 TimePoint
定义 TimeSystem.cpp:411
void aUTCToTT(const JulianDate &jdUTC, JulianDate &jdTT)
从协调世界时(UTC) 转换为 地球时(TT)
定义 TimeSystem.cpp:72
void aUTCToUT1(const JulianDate &jdUTC, JulianDate &jdUT1)
从协调世界时(UTC) 转换为 世界时(UT1)
定义 TimeSystem.cpp:84
constexpr double kGPSMinusTAI
GPS 时间相对原子时的偏置[s]
定义 Constants.h:46