jd2ut À¯¸®¿ì½ºÀÏÀ» ¼¼°è Ç¥Áؽ÷Πȯ»êÇÑ´Ù
void jd2ut(int *year, int *month, int *day, int *hour, int *min, int *sec, long j, double d);
year (Ãâ·Â) ³â month (Ãâ·Â) ¿ù day (Ãâ·Â) ÀÏ hour (Ãâ·Â) ½Ã (0 ~ 23) min (Ãâ·Â) ºÐ (0 ~ 59) sec (Ãâ·Â) ÃÊ (0 ~ 59) j (ÀÔ·Â) À¯¸®¿ì½ºÀÏÀÇ Á¤¼ö ºÎºÐ d (ÀÔ·Â) À¯¸®¿ì½ºÀÏÀÇ ¼Ò¼ö ºÎºÐ
¾øÀ½
void jd2ut(int *year, int *month, int *day, int *hour, int *min, int *sec, long j, double d) { long c, k, e, s; if (d >= 0.5) { j++; d -= 0.5; } else d += 0.5; if (j >= 2299161) j = j + 1 + (j-1867216)/36524 - (j-1867216)/146096; j += 1524; c = (j - 122.1)/365. 25; k = 365L*c + c/4; e = (j - k)/30. 6001; *year = c - 4716; *month = e - 1; if (*month > 12) { (*month) -= 12; (*year)++; } *day = j - k - (long)(30.6*e); s = d * 86400 + 0.5; *hour = s / 3600; *min = (s % 3600) / 60; *sec = s % 60; }
±× À¯¸®¿ì½ºÀÏÀÇ 0.0ÀÏÀº ±â¿ø Àü 4713³â(-4712¿¬) 1¿ù 1ÀÏÀÇ Á¤¿À·Î, ´ÙÀ½³¯ÀÇ Á¤¿À°¡ À¯¸®¿ì½ºÀÏ 1.0ÀÏÀÌ´Ù. 1991³â 6¿ù 15ÀÏ ¼¼°è Ç¥Áؽà 0½Ã ÀÇ À¯¸®¿ì½ºÀÏÀº 2448422.5ÀÏÀÌ µÈ´Ù.
À¯¸®¿ì½ºÀÏÀÇ ±â»êÀÏ ±â¿ø Àü 4713³â 1¿ù 1ÀÏÀº À²¸®¿ì½º·Â¿¡ ÀÇÇÑ ÀÏÀÚ·Î, À²¸®¿ì½º·ÂÀº ±â¿ø Àü 46³â¿¡ À¯¸®¿ì½º¡¤Caesar°¡ ä¿ëÇÑ °ÍÀÌ´Ù. À²¸®¿ì½º·ÂÀº 1582³â 10¿ù 4ÀϱîÁö »ç¿ëµÇ¾î ±× ´ÙÀ½³¯Àº ±×·¹°í¸®¿À ´Þ·Â(ÀÏ·Â)ÀÇ µ¿³â 10¿ù 15ÀÏÀÌ´Ù.