Unix ½Ã°£ ´Ù·ç±â
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : article>unixtime



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

UNIX Time Stamp

¹«¾ù¿¡µç ½ÃÀÛÀÌ ÀÖ°Ô ¸¶·Ã°í ½Ã°£µµ ½ÃÀÛÀÌ ÀÖ´Ù.
À̸¦Å׸é "¼­±â", "´Ü±â" ¿Í °°Àº °ÍµéÀε¥, ƯÁ¤ Àι°ÀÌ Å¾ ½Ã°£À»
±âÁØÀ¸·Î Àâ¾Æ¼­ ½Ã°£À» °è»êÇÏ´Â °ÍµîÀÌ´Ù.
¹Ý¸é Unix ½Ã½ºÅÛ¿¡¼­ ±âÁØÀ¸·Î »ç¿ëÇÏ´Â ¶§´Â 1970³â 1¿ù 1ÀÏ(GMT)À» ±âÁØÀ¸·Î
ÇÑ´Ù. À̶§¸¦ ±âÁØÀ¸·Î ÇØ¼­ Áö±Ý±îÁö È帥½Ã°£À» ÃÊ ´ÜÀ§·Î ÃøÁ¤ÇÑ´Ù.
À¯´Ð½º¿¡¼­ ½Ã°£ÃøÁ¤À» À§Çؼ­ »ç¿ëÇÏ´Â °¡Àå ±âº»ÀûÀÎ ÇÔ¼öÀÎ time(2) ¿ª½Ã
½Ã°£À» ÃʷΠȯ»êÇÏ¿© µ¹·ÁÁØ´Ù.
#include <time.h>
#include <stdio.h>
#include <unistd.h>

int main()
{
    int       i;
    time_t  the_time;

    time(&the_time);

    printf("ÇöÀç½Ã°£Àº %d\n", the_time);
}
À§ÀÇ Äڵ带 ÄÄÆÄÀÏ ÇÏ¿©¼­ ½ÇÇàÇϸé ÇöÀç½Ã°£À» ÃʷΠȯ»êÇÏ¿© µ¹·ÁÁØ´Ù.
´ç½ÅÀÇ ½Ã½ºÅÛ ½Ã°£ÀÌ Ç¥ÁØ½Ã¿Í ºñ½ÁÇÏ´Ù¸é ´ëÃæ 10¾ï ¾ó¸¶ Á¤µµ¸¦ µ¹·ÁÁÙ°ÍÀÌ´Ù. time ÇÔ¼öÀÇ ¿øÇüÀº ´ÙÀ½°ú °°´Ù.

ºñ·Ï time(2)¿À·¡µÈ ¿ª»ç¸¦ °¡Áø Ç¥ÁØÀûÀÎ ÇÔ¼ö À̱ä ÇÏÁö¸¸, ´ÜÁö ½Ã°£À» ÃÊ ´ÜÀ§¿¡¼­ ¸¸ ¾òÀ» ¼ö ÀÖ´Ù´Â ´ÜÁ¡À» °¡Áø´Ù. À̸¦ Å׸é Á¤¹Ðµµ°¡ ¶³¾îÁø´Ù°í º¼ ¼ö ÀÖ´Ù. ±×·¡¼­ ÃÖ±Ù¿¡´Â gettimeofday(2)¸¦ time(2)´ë½Å »ç¿ëÇϰí ÀÖ´Ù.
#include <time.h> 
 
time_t time(time_t *tp) 
 

time ÇÔ¼ö°¡ ¸Å¿ì À¯¿ëÇϱä ÇÏÁö¸¸, Áö±Ý ½Ã°£Àº 1970 ³âºÎÅÍ "1012902900" Ãʰ¡
È帥 ½Ã°£ÀÔ´Ï´Ù.. ¶ó°í ¸»ÇÑ´Ù¸é ¾Æ¸¶µµ Áö±ÝÀÇ ½Ã°£À» ¾Æ´Âµ¥ »ó´çÇÑ ¾î·Á¿òÀ»
°Þ¿¡ µÉ°ÍÀÌ´Ù.
ÇØ¼­ Àΰ£ÀÌ º¸±â ÁÁÀº Çü½ÄÀ¸·Î ¸¸µé¾îÁà¾ß Çϴµ¥, gmtime(3) ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
#include <time.h> 
struct tm *gmtime(const time_t *timep); 
 
gmtime ÀÇ ¾Æ±Ô¸ÕÆ®·Î ÇöÀç½Ã°£(ÃÊ ´ÜÀ§ÀÇ)À» ³Ö¾îÁÖ¸é tm ±¸Á¶Ã¼ÀÇ °ªÀ»
ä¿ö¼­ µ¹·ÁÁØ´Ù. tm ±¸Á¶Ã¼¿¡´Â ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÇ¾î ÀÖ´Ù.
struct tm 
{ 
        int     tm_sec;         /* ÃÊ (0-59) */ 
        int     tm_min;         /* ºÐ (0-59) */ 
        int     tm_hour;        /* ½Ã (0-23) */ 
        int     tm_mday;        /* ÀÏ (1-31) */ 
        int     tm_mon;         /* ¿ù (0-11) */ 
        int     tm_year;        /* ³â (1900 ±âÁØ) */ 
        int     tm_wday;        /* ¿äÀÏ (0-6) */ 
        int     tm_yday;        /* ÀÏ (0-365) */ 
        int     tm_isdst;       /* Àϱ¤Àý¾à ½Ã°£ Àû¿ë¿©ºÎ */ 
}; 
 

¿¹Á¦

¾Æ·¡´Â ¿¹Á¦ÀÌ´Ù.
#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    int       i;
    time_t  the_time;
    struct    tm *tm_ptr;

    time(&the_time);
    tm_ptr = gmtime(&the_time);
    printf("ÇöÀç½Ã°£ : %d³â %d¿ù %dÀÏ %d:%d\n",
            tm_ptr->tm_year + 1900, tm_ptr->tm_mon +1,
            tm_ptr->tm_mday, tm_ptr->tm_hour,
            tm_ptr->tm_min);
}

±×·±µ¥ À§ÀÇ Äڵ带 ÄÄÆÄÀÏÇØ¼­ ½ÇÇà½ÃÄѺ¸¸é °ªÀÌ ÇöÀç ½Ã°£°ú ¾à°£ ´Ù¸£°Ô ³ª¿Ã°ÍÀÌ´Ù. ¾Æ¸¶ Áö±Ý ÇöÀç ½Ã°£ º¸´Ù"9½Ã°£" ´À¸®°Ô ³ª¿Ã°ÍÀÌ´Ù. ÀÌÀ¯´Â gmtime ÀÌ GMT ±âÁØÀÇ Ç¥Áؽø¦ µ¹·ÁÁֱ⠶§¹®ÀÌ´Ù. ¿ì¸®³ª¶ó´Â GMT ¸¦ ±âÁØÀ¸·Ö ºÃÀ»¶§ +9 ÀÇ ½Ã°£À» °¡Áø´Ù. ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â ½Ã½ºÅÛÀÇ timezone À» ¾Ë¾Æº¸±â À§Çؼ­´Â "echo $TZ" À»
ÀÌ¿ëÇÏ¸é µÈ´Ù.

ÀÚ±â Áö¿ªÀÇ ½Ã°£À» ¾Ë¾Æº¸±â À§Çؼ­´Â localtime(3) À» »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ë¹æ¹ý
Àº gmtime °ú ¿ÏÀüÈ÷ ¶È°°À½À¸·Î º°µµ·Î ¿¹¸¦ µéÁö´Â ¾Ê°Ú´Ù.
±×³É À§ÀÇ Äڵ忡¼­ gmtime ¸¸ localtime ·Î ¹Ù²ãÄ¡±â ÇÏ¸é µÈ´Ù.

±× ¹Ý´ëÀÇ °æ¿ìµµ »ý°¢ÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.
Áï "³â,¿ù,ÀÏ,½Ã,ºÐ,ÃÊ" °¡ ÁÖ¾îÁ³À»¶§ À̸¦ Unix ½Ã°£À¸·Î ¹Ù²ãÁÙ °æ¿ìÀÌ´Ù.
½ÇÁ¦·Î ÀÌ·± ¿ä±¸´Â ÇÁ·Î±×·¡¹Ö½Ã ÀÚÁÖ ¹ß»ýÇÑ´Ù.
ÀÌ·²¶§´Â mktime(3) À» »ç¿ëÇÏ¸é µÈ´Ù.
#include <time.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    struct tm tm_ptr;
    time_t the_time;
    int i;

    tm_ptr.tm_year = 102;
    tm_ptr.tm_mon  = 1;
    tm_ptr.tm_mday = 8;
    tm_ptr.tm_hour = 23;
    tm_ptr.tm_min  = 50;
    tm_ptr.tm_sec  = 50;
    tm_ptr.tm_isdst = 0;

    printf("%d\n", mktime(&tm_ptr));
}
À̿ܿ¡µµ localtime(3), ctime(3), asctime(3)µîÀÇ °ü·ÃÇÔ¼öµéµµ ÀÖÀ¸´Ï È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù.

½Ã½ºÅÛ ½Ã°£ ¼³Á¤

½Ã°£À» °¡Á®¿À´Â °Í ¸¸Å­ ÄÄÇ»ÅÍÀÇ ½Ã°£À» ¼³Á¤ÇÏ´Â °Í ¿ª½Ã Áß¿äÇÏ´Ù. ÄÄÇ»ÅÍÀÇ ½Ã°£ ¼³Á¤À» À§Çؼ­ À¯´Ð½º´Â stime(2)¿Í settimeofday(2)¸¦ Á¦°øÇÑ´Ù. stime()Àº settimeofday()ÀÇ ¿À·¡µÈ ¹öÁ¯ÀÌ´Ù. ÄÄÇ»ÅÍ ½Ã½ºÅÛÀ» Á÷Á¢ Á¦¾îÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠ¹Ýµå½Ã root±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß¸¸ ½ÇÇà °¡´ÉÇÏ´Ù. À̵é ÇÔ¼ö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº À§ÀÇ ÇÔ¼ö ¸µÅ©¸¦ Âü°íÇϱ⠹ٶõ´Ù.

½Ã°£ ÀÀ¿ë

À̵é À¯´Ð½º ½Ã°£°ü·Ã ÇÔ¼öµéÀº ³»ºÎºÐ Àú¼öÁØÀ̰ųª, °í¼öÁØÀÇ ÇÔ¼ö¶ó ÇÒÁö¶óµµ Ãâ·Â°á°ú°¡ ¸¶¶¥Ä¡ ¾ÊÀ» ¶§°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î "oo³â ooÀÏ oo:oo:oo"ÀÌ·± ½ÄÀ¸·Î ½Ã°£À» ³ªÅ¸³»·Á°í ÇÏ¸é »ó´çÈ÷ ±ÍÂúÀº ÄÚµù °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. ÄÚµå¸ðÀ½ÀÇ time2strÀ» Âü°íÇϱ⠹ٶõ´Ù. ÇÊÀÚ°¡ ³ª¸§´ë·Î ÀÛ¼ºÇÑ ½Ã°£Ãâ·Â ÇÔ¼ö°¡ ¼³¸íµÇ¾î ÀÖ´Ù.

ÀÌ»óÀ¸·Î À¯´Ð½º¿¡¼­ ½Ã°£À» ´Ù·ç´Â ÇÔ¼ö¿Í »ç¿ë¹æ¹ý¿¡ ´ëÇØ °£´ÜÈ÷ ¼³¸íÇØ º¸¾Ò´Ù.
¸¹Àº µµ¿òÀÌ µÇ¾ú±æ ¹Ù¶ó¸ç, ´ÙÀ½¹ø¿£ Á»´õ ³ªÀº ³»¿ëÀ¸·Î ã¾Æ¿Ã°É ¾à¼Ó?
µå¸³´Ï´Ù. ;) ±×·³ ºüÀÌ~~

  • Âü°í : [http]RTC
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.