输入:year,mon,day,hour,min,sec
输出:utc mjd格式时间
void cal2mjd(int year,int mon,int day,int hour,int min,double sec,double &utc)
{
int jd;
jd = day-32075
1461*(year 4800 (mon-14)/12)/4
367*(mon-2 -(mon-14)/12*12)/12
-3*((year 4900 (mon-14)/12)/100)/4;
utc = (double)jd-0.5 - 2400000.5
(double)hour/24.0
(double)min/1440.0
sec/86400.0;
return;
}
测试程序验证结果:
int year=2021,mon=11,day=21,hour=12,min=22;
double sec=21;
double utc;
cal2mjd(year,mon,day,hour,min,sec,utc);
qDebug()<<utc;
最后结果为59539.5