À¯¸®¿ì½ºÀÏÀ» ¼¼°è Ç¥Áؽ÷Πȯ»êÇÑ´Ù


ÇÔ¼ö¸í
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      (ÀÔ·Â) À¯¸®¿ì½ºÀÏÀÇ ¼Ò¼ö ºÎºÐ
ÇÔ¼öÄ¡
¾øÀ½
ÁÖÀÇ »çÇ×

¿ë·Ê(jd2ut-test.c )
int year, month, day, hour, min, sec;
jd2ut(&year, &month, &day, &hour, &min, &sec, 2448422L, 0.5);

ÇÁ·Î±×·¥(jd2ut.c )
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;
}
¼³¸í
ÀÏ»ó»ýÈ°¿¡ ½Ã°¢À̶ó°í Çϸé, ³â¡¤¿ù¡¤ÀÏ¡¤½Ã¡¤ºÐ¡¤Ãʸ¦ »ç¿ëÇÏ°í ÀÖ´Ù. ±×·¯³ª °è»ê¿¡´Â 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ÀÏÀÌ´Ù.

°ü·Ã ÇÔ¼ö
¼¼°è Ç¥Áؽø¦ À¯¸®¿ì½ºÀϷΠȯ»êÇÑ´Ù