Esempio n. 1
0
File: ymd2jd.c Progetto: phn/pytpm
JD
ymd2jd(YMD ymd)
{
    JD jd;
    int m, y;

    y = ymdGetYear(ymd);
    m = ymdGetMonth(ymd);

    /* normalize the month */
    if (m < 1) {
        y -= (1 - m) / 12;
        m = (m % 12) + 12;
    }

    if (m > 12) {
        y += (m - 1) / 12;
        m = ((m - 1) % 12) + 1;
    }

    jdSetDay(jd, gcal2j(y, m, 0));
    jdIncDay(jd, ymdGetDay(ymd));

    /* now the fractional day...  */
    jd.hms = ymd.hms;

    /* julian days start 12 hours after civil days */
    jdDecHours(jd, 12.0);

    return(jd);
}
Esempio n. 2
0
int main(){
  JD jd;
  double t =0.0;
  #define L 2
  double j[L][4] = {
    {2451545.0, 10.0, 0.0, 0.0},
    {2433142.678, 10.123, -10.345, 1.04}
  };

  for(int i=0; i < L; i++){
    jdSetDay(jd, j[i][0]);
    jdSetHours(jd, j[i][1]);
    jdSetMinutes(jd, j[i][2]);
    jdSetSeconds(jd, j[i][3]);
    printf("%16.8f %8.4f %8.4f %8.4f\n", jdGetDay(jd), jdGetHours(jd),
           jdGetMinutes(jd), jdGetSeconds(jd));
    t = jd2y(jd);

    printf("%16.8f\n\n", t);

  }
  return 0;
}