int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv
, const struct timezone *tz);
struct timeval { long tv_sec; /* ÃÊ */ long tv_usec; /* ¸¶ÀÌÅ©·ÎÃÊ */ };
tz´Â timezoneÀÌ´Ù :
struct timezone { int tz_minuteswest; /* ±×¸®´ÏÄ¡ ¼Ãø ºÐÂ÷(minutes) */ int tz_dsttime; /* DST º¸Á¤ ŸÀÔ */ };
timezone struct ´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù; ¸®´ª½º¿¡¼ tz_dsttime Çʵ尡 »ç¿ëµÇÁö ¾Ê´Â´Ù. - Áö±Ý±îÁö ±×·¸°í ¾ÕÀ¸·Îµµ libc³ª glibc¿¡¼ Áö¿øµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. Ä¿³Î ¼Ò½º¿¡¼(¼±¾ð ÀÌ¿Ü¿¡) ÀÌ Çʵ尡 ³ª¿À´Â ¸ðµç °æ¿ì´Â ¹ö±×ÀÌ´Ù. ±×·¡¼ ´ÙÀ½ ³»¿ëÀº ¼ø¼öÈ÷ ¿ª»çÀûÀÎ Èï¹Ì°Å¸®´Ù.
tz_dsttime Çʵå´Â Daylight Saving Time(Àϱ¤ Àý¾à ½Ã°£) ³âµµ¿¡ °Á¦·Î ÁöÁ¤µÇ´Â »ó¡ÀûÀÎ »ó¼ö°ª(¾Æ·¡¿¡ ÀÖ´Â °ªµé)À» °®´Â´Ù. (ÁÖÀÇ: ÀÌ °ªÀº ±× Çص¿¾È ÀÏÁ¤ÇÏ´Ù. - DST °ªÀº °Á¦·Î ÁöÁ¤µÇÁö ¾ÊÀ¸¸ç, ¾Ë°í¸®Áò¿¡¼ ¼±ÅõȴÙ.) Daylight Saving Time ¾Ë°í¸®ÁòÀº ¾Æ·¡Ã³·³ Á¤ÀǵȴÙ:
DST_NONE /* dst »ç¿ëÇÏÁö ¾ÊÀ½ */
DST_USA /* USA ½ºÅ¸ÀÏ dst */
DST_AUST /* ¿À½ºÆ®·¹Àϸ®¾Æ ½ºÅ¸ÀÏ dst */
DST_WET /* ¼ºÎ À¯·´ dst */
DST_MET /* ÁߺΠÀ¯·´ dst */
DST_EET /* µ¿ºÎ À¯·´ dst */
DST_CAN /* ij³ª´Ù */
DST_GB /* ¿µ±¹¿Í ¾ÆÀÏ·£µå */
DST_RUM /* ·ç¸¶´Ï¾Æ */
DST_TUR /* ÅÍÅ° */
DST_AUSTALT /* 1986ÀÇ ¿À½ºÆ®·¹Àϸ®¾Æ ½ºÅ¸ÀÏ */
¹°·Ð, ÀÌ°ÍÀº Daylight Saving Time ±â°£ÀÌ ³ª¶ó¸¶´Ù ´Ü¼øÇÑ ¾Ë°í¸®ÁòÀ¸·Î °Á¦·Î ÁÖ¾îÁú ¼ö ¾øÀ½À» ¸»ÇÑ´Ù: ½ÇÁ¦·Î, ÀÌ ±â°£Àº Á¤Ä¡Àû ÀÌÀ¯·Î °áÁ¤µÈ´Ù. ±×·¡¼ ½Ã°£´ëÀ» Ç¥ÇöÇÏ´Â ÀÌ ¹æ¹ýÀº ¹ö·ÁÁ³´Ù. ¸®´ª½º¿¡¼, settimeofday ½Ã½ºÅÛ ÄÝÀÇ tz_dsttime Çʵå´Â 0À̾î¾ß ÇÑ´Ù.
¸®´ª½º¿¡¼´Â, tz ÀÎÀÚ°¡ NULLÀÌ ¾Æ´Ñ °æ¿ì³ª, tv ÀÎÀÚ°¡ NULLÀÌ°í tz_minuteswest Çʵ尡 0ÀÌ ¾Æ´Ñ ÀÎÀÚ·Î settimeofday°¡ (ºÎÆÃÈÄ) óÀ½ È£ÃâµÈ´Ù¸é Ưº°ÇÑ `wrap clock` Àǹ̰¡ ÀÖ´Ù. ±×·± °æ¿ì´Â CMOS ½Ã°è´Â ·ÎÄà ½Ã°£À̸ç, UTC ½Ã½ºÅÛ ½Ã°£À» ¾ò±â À§ÇÑ ½Ã°£¸¸Å Áõ°¡ÇßÀ½À» ¸»ÇÑ´Ù. ÀǽÉÇÒ ¿©Áö¾øÀÌ ÀÌ·¯ÇÑ Æ¯Â¡À» »ç¿ëÇÏ´Â °ÍÀº ÁÁÁö ¾Ê´Ù.
´ÙÀ½ ¸ÅÅ©·Î´Â timeval ±¸Á¶Ã¼ ¿¬»êÀ» À§ÇØ Á¤ÀǵȴÙ:
#define timerisset(tvp)\
((tvp)->tv_sec || (tvp)->tv_usec) #define timercmp(tvp, uvp, cmp)\ ((tvp)->tv_sec cmp (uvp)->tv_sec ||\ (tvp)->tv_sec == (uvp)->tv_sec &&\ (tvp)->tv_usec cmp (uvp)->tv_usec) #define timerclear(tvp)\
((tvp)->tv_sec = (tvp)->tv_usec = 0)
¸¸ÀÏ, tv³ª tz°¡ nullÀ̶ó¸é, °ü·Ã ±¸Á¶Ã¼´Â ¼³Á¤µÇÁö ¾Ê°Å³ª ¹ÝȯµÇÁö ¾Ê´Â´Ù.
½´ÆÛÀ¯Àú¸¸ÀÌ settimeofday¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.