ut2jd ¼¼°è Ç¥ÁؽúÎÅÍ ±× À¯¸®¿ì½ºÀÏÀ» ȯ»êÇÑ´Ù
long ut2jd(double *d, int year, int month, int day,
int hour, int min, int sec);
d (Ãâ·Â) 1ÀÏÀÇ ½Ã°£À» 1 À¸·Î ÇßÀ» ¶§ÀÇ Á¤¿ÀºÎÅÍÀÇ ½Ã°£ year (ÀÔ·Â) ³â month (ÀÔ·Â) ¿ù (1 ~ 12) day (ÀÔ·Â) ÀÏ hour (ÀÔ·Â) ½Ã (0 ~ 23) min (ÀÔ·Â) ºÐ (0 ~ 59) sec (ÀÔ·Â) ÃÊ (0 ~ 59)
À¯¸®¿ì½ºÀÏÀÇ °ª
long ut2jd(double *d, int year, int month, int day,
int hour, int min, int sec)
{
int bc, gregory;
long j;
bc = year <= 0;
/* First day at Gregory's calendar */
gregory = year > 1582 || (year == 1582 && month > 10) ||
(year == 1582 && month == 10 && day >= 15);
if (month <= 2) {
year--;
month += 12;
}
if (hour < 12) {
j = 0;
*d = 0.5;
} else {
j = 1;
*d = -0. 5;
}
*d += (hour*3600L + min*60 + sec)/86400. 0;
j += bc ? (year-3)/4 : year/4;
if (gregory) j+= 2 - year/100 + year/400;
j += 1720994L + year*365L + (month+1)*30 + (month+1)*3/5 + day;
return j;
}
±× À¯¸®¿ì½ºÀÏÀÇ 0.0ÀÏÀº ±â¿ø Àü 4713³â(-4712¿¬) 1¿ù 1ÀÏÀÇ Á¤¿À·Î, ´ÙÀ½³¯ÀÇ Á¤¿À°¡ À¯¸®¿ì½ºÀÏ 1.0ÀÏÀÌ´Ù. 1991³â 6¿ù 15ÀÏ ¼¼°è Ç¥Áؽà 0½Ã ÀÇ À¯¸®¿ì½ºÀÏÀº 2448422.5ÀÏÀÌ µÈ´Ù.