int mjd2AIPS( int inMJD, char * dateStr, char * mapStr) /* * * * * * * * * * * * * * * * */ /* mjd2AIPS() creates to date strings in the format expected by AIPS. */ /* * * * * * * * * * * * * * * * */ { int year, month, day, year2; long todayMJD; mjd2date( inMJD, &year, &month, &day); year2 = year % 100; sprintf(dateStr,"%02d/%02d/%02d", day, month, year2); todayMJD = today2mjd(); mjd2date( todayMJD, &year, &month, &day); /* year = year % 100; */ sprintf( mapStr,"%04d-%02d-%02d", year, month, day); return(0); } /* end of mjd2AIPS() */
// MJD to DOY double mjd2doy(double mjd,int *yr) { int year,month,k=2; double day,doy; mjd2date(mjd,&year,&month,&day); if (year%4==0 && year%400!=0) k=1; doy=floor(275.0*month/9.0)-k*floor((month+9.0)/12.0)+day-30; *yr=year; return doy; }
char * mjdUtc2DateObs( long mjd, double utc, char * dateObs) /* convert mjd and utc (radians) to standard fits date time string */ { int day = 0, month = 0, year = 0; char timeString[31] = ""; /* mjd */ mjd2date( mjd, &year, &month, &day); /* utc with : between hours and minutes and with two digits in seconds*/ rad2strg( utc, "h:0.2", timeString, TRUE); /* convert to DATE_OBS= '2000-10-23T00:00:00' */ sprintf( dateObs, "%4d-%02d-%02dT%s", year, month, day, timeString); if (mjd == 0) fprintf( stderr, "%ld %lf -> %d-%02d-%02d -> %s\n", mjd, utc, year, month, day, dateObs); return(NULL); } /* end of mjdUtc2DMjd() */