25#include "AstUtil/Constants.h"
43AST_CORE_CAPI
void aJDToMJD(
const JulianDate& jd, ModJulianDate& mjd);
47AST_CORE_CAPI
void aMJDToJD(
const ModJulianDate& mjd, JulianDate& jd);
71AST_CORE_CAPI
void aDateTimeToJD(
const DateTime& dttm, JulianDate& jd);
75AST_CORE_CAPI
void aJDToDateTime(
const JulianDate& jd, DateTime& dttm);
86 int day =
static_cast<int>(JD);
87 double second = (JD -
day) * 86400.0;
88 return JulianDate::FromDaySecond(
day, second);
103 return JulianDate::FromDaySecond(
static_cast<int>(
kJ2000Epoch), 0.0);
106 static JulianDate FromDateTime(
int year,
int month,
int day,
int hour,
int minute,
double second);
114 int day =
static_cast<int>(jd);
115 double second = (jd -
day) * 86400.0;
116 setDaySecond(
day, second);
119 int day()
const{
return day_;}
120 int& day(){
return day_;}
121 double second()
const {
return second_;}
122 double& second(){
return second_;}
123 void setDay(
int day){day_ =
day;}
124 void setSecond(
double sec){second_ =
sec;}
161 this->second() +=
sec;
164 JulianDate& operator -= (
double sec)
166 this->second() -= sec;
169 JulianDate operator + (
double sec)
const
171 JulianDate jd{ *
this };
175 JulianDate operator - (
double sec)
const
177 JulianDate jd{ *
this };
181 DaySecDuration operator - (
const JulianDate& other)
const
183 return {
day() - other.day(), second() - other.second()};
190 return JulianDate::FromDaySecond(day_, second_ + second);
double daysFromJ2000() const
计算儒略日与 J2000.0 历元的时间差(儒略日)
定义 JulianDate.hpp:151
double impreciseDay() const
获取不精确的天数
定义 JulianDate.hpp:110
static JulianDate FromDateTime(const DateTime &dttm)
根据日期时间创建儒略日对象
定义 JulianDate.hpp:95
double julianCenturyFromJ2000() const
计算儒略日与 J2000.0 历元的时间差(儒略世纪)
定义 JulianDate.hpp:147
static JulianDate FromImpreciseDay(double JD)
根据不精确的天数创建儒略日对象
定义 JulianDate.hpp:85
double secondsFromJ2000() const
计算儒略日与 J2000.0 历元的时间差(秒)
定义 JulianDate.hpp:155
double dayFractional() const
获取小数部分的日数
定义 JulianDate.hpp:138
void setImpreciseDay(double jd)
设置不精确的天数
定义 JulianDate.hpp:113
static JulianDate FromDaySecond(int day, double second)
根据天数和秒数创建儒略日对象
定义 JulianDate.hpp:91
JulianDate shiftedBySecond(double second) const
计算儒略日偏移后的新儒略日
定义 JulianDate.hpp:189
static JulianDate J2000()
获取 J2000.0 历元的儒略日对象
定义 JulianDate.hpp:102
void setDayFractional(double df)
设置小数部分的日数
定义 JulianDate.hpp:142
void setDaySecond(int day, double second)
设置天数和秒数
定义 JulianDate.hpp:132
void getDaySecond(int &day, double &second) const
获取天数和秒数
定义 JulianDate.hpp:127
void aMJDToJD(const ModJulianDate &mjd, JulianDate &jd)
将简约儒略日转换为儒略日
定义 JulianDate.cpp:45
void aDateTimeToJD(const DateTime &dttm, JulianDate &jd)
将日期时间转换为儒略日
定义 JulianDate.cpp:77
ImpreciseJD aMJDToJD_Imprecise(ImpreciseMJD mjd)
将儒略日转换为简约儒略日Modified Julian Date(MJD)
定义 JulianDate.cpp:61
void aJDToMJD(const JulianDate &jd, ModJulianDate &mjd)
将儒略日转换为简约儒略日
定义 JulianDate.cpp:36
double aJDToMJD_Imprecise(const JulianDate &jd)
将儒略日转换为简约儒略日
定义 JulianDate.cpp:54
void aJDToDateTime(const JulianDate &jd, DateTime &dttm)
将儒略日转换为日期时间
定义 JulianDate.cpp:85
constexpr double kSecondsPerDay
一天的秒数
定义 Constants.h:204
constexpr double kJ2000Epoch
J2000历元
定义 Constants.h:37
constexpr double kDaysPerJulianCentury
儒略世纪天数
定义 Constants.h:202