25#include "AstCore/Constants.h"
26#include "AstCore/JulianDate.hpp"
27#include "AstCore/DateTime.hpp"
28#include "AstCore/RunTime.hpp"
53constexpr static double kTimePointDefaultFormatPrecision = 6;
61AST_CORE_API
void aTimePointToUTC(
const TimePoint& time, JulianDate& jdUTC);
64AST_CORE_API
void aTimePointToTT(
const TimePoint& time, JulianDate& jdTT);
67AST_CORE_API
void aTimePointToTDB(
const TimePoint& time, JulianDate& jdTDB);
70AST_CORE_API
void aTimePointToTAI(
const TimePoint& time, JulianDate& jdTAI);
73AST_CORE_API
void aTimePointToUT1(
const TimePoint& time, JulianDate& jdUT1);
76AST_CORE_API
void aTimePointToUTC(
const TimePoint& time, DateTime& dttmUTC);
98AST_CORE_CAPI errc_t
aTimePointFormat(
const TimePoint& time, std::string& str,
int precision = kTimePointDefaultFormatPrecision);
126 static TimePoint FromUTC(
int year,
int month,
int day,
int hour,
int minute,
double second);
142 static TimePoint FromImpreciseJDTT(
double jdTT);
212 return duration_.minusInSecond(other.duration_);
217 return duration_.minusInDay(other.duration_);
224 return durationFrom(other);
230 return {integerPart(), fractionalPart() + second};
237 return {integerPart(), fractionalPart() - second};
243 std::string
toString(
int precision = kTimePointDefaultFormatPrecision)
const
254 return {integerPart(), fractionalPart() + second};
260 AST_CORE_API
TimePoint shiftedBySecondInTDB(
double second)
const;
long int integer
定义 MockSnopt.c:24
Unit hour
小时
定义 Unit.cpp:428
绝对时间点
定义 TimePoint.hpp:106
JulianDate toTAI() const
将时间点转换为儒略日数(原子时 TAI)
定义 TimePoint.hpp:200
double julianCenturyFromJ2000TT() const
计算时间点与 J2000 epoch 的时间差(儒略世纪)
定义 TimePoint.hpp:171
TimePoint shiftedBySecond(double second) const
计算时间点偏移后的新时间点,按默认时间尺度进行时间偏移
定义 TimePoint.hpp:253
static TimePoint J2000TT()
J2000.0 TT 时间点
定义 TimePoint.hpp:145
double fractionalPart() const
时间点的小数秒数部分
定义 TimePoint.hpp:163
double durationFrom(const TimePoint &other) const
计算与另一个时间点的时间差(秒数)
定义 TimePoint.hpp:211
TimePoint operator-(double second) const
时间点减法运算符
定义 TimePoint.hpp:236
TimePoint operator+(double second) const
时间点加法运算符
定义 TimePoint.hpp:229
void toTT(JulianDate &jdTT) const
将时间点转换为儒略日数(地球时TT)
定义 TimePoint.hpp:176
void toTDB(JulianDate &jdTDB) const
将时间点转换为儒略日数(质心动力学时TDB)
定义 TimePoint.hpp:186
static TimePoint Parse(StringView str)
从字符串解析时间点
定义 TimePoint.hpp:152
double toEpochSecond() const
将时间点转换为相对于参考历元的秒数
定义 TimePoint.hpp:206
JulianDate toTT() const
将时间点转换为儒略日数(地球时TT)
定义 TimePoint.hpp:180
double daysFromJ2000TT() const
计算时间点与 J2000 epoch 的时间差(天)
定义 TimePoint.hpp:166
int64_t integerPart() const
时间点的整数秒数部分
定义 TimePoint.hpp:160
double operator-(const TimePoint &other) const
时间点减法运算符
定义 TimePoint.hpp:223
JulianDate toTDB() const
将时间点转换为儒略日数(质心动力学时TDB)
定义 TimePoint.hpp:190
std::string toString(int precision=kTimePointDefaultFormatPrecision) const
将时间点格式化为字符串
定义 TimePoint.hpp:243
double daysFrom(const TimePoint &other) const
计算与另一个时间点的时间差(天)
定义 TimePoint.hpp:216
void toTAI(JulianDate &jdTAI) const
将时间点转换为儒略日数(原子时 TAI)
定义 TimePoint.hpp:196
double aTimePointToEpochSecond(const TimePoint &tp)
将时间点转换为相对参考历元的秒数
定义 RunTimeEpoch.cpp:27
void aTimePointToTDB(const TimePoint &time, JulianDate &jdTDB)
将时间点转换为儒略日数(质心动力学时TDB)
定义 TimePoint.cpp:102
void aTimePointToTAI(const TimePoint &time, JulianDate &jdTAI)
将时间点转换为儒略日数(原子时 TAI)
定义 TimePoint.cpp:59
errc_t aTimePointFormat(const TimePoint &time, std::string &str, int precision)
将时间点格式化为字符串
定义 TimePoint.cpp:84
void aTimePointToUTC(const TimePoint &time, JulianDate &jdUTC)
将时间点转换为儒略日数(协调世界时 UTC)
定义 TimePoint.cpp:41
void aTimePointToUT1(const TimePoint &time, JulianDate &jdUT1)
将时间点转换为儒略日数(世界时 UT1)
定义 TimePoint.cpp:70
void aTimePointToTT(const TimePoint &time, JulianDate &jdTT)
将时间点转换为儒略日数(地球时TT)
定义 TimePoint.cpp:47
errc_t aTimePointParse(StringView str, TimePoint &time)
从字符串解析时间点
定义 TimePoint.cpp:93
constexpr double kSecondsPerDay
一天的秒数
定义 Constants.h:204
constexpr double kDaysPerJulianCentury
儒略世纪天数
定义 Constants.h:202
constexpr double kTTMinusTAI
地球时相对原子时的偏置[s]
定义 Constants.h:45