FIX: localtime() Ç×»ó Ç¥ÁØ ½Ã°£ Àüȯ ÀÖÁö ¾ÊÀ½

±â¼ú ÀÚ·á: 148681 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

Çö»ó

C ·±Å¸ÀÓ ÇÔ¼ö localtime() Ç¥ÁØ ½Ã°£´ëÀÇ Àϱ¤ Àý¾à ½Ã°£Á¦ Ç¥ÁØ ½Ã°£ ¹Ì±¹ Ç¥ÁØ ½Ã°£´ë¿¡ ½ºÀ§Ä¡¸¦ ¸¸µå´Â °°Àº ³¯Â¥¿¡ ÀüȯÇÒ ½ÇÇàµÉ ¶§ À߸ø ¹Ýȯ ±¸Á¶Ã¼ tm tm_isdst ±¸¼º¿øÀ» ä¿ó´Ï´Ù.

¿øÀÎ

C ·±Å¸ÀÓ ÇÔ¼ö localtime() ¸í¹éÈ÷ Ç¥ÁØ ½Ã°£´ë °í·ÁÇÏ´ÂÁö ¾Ê½À´Ï´Ù. ´ë½Å, Ç¥ÁØ ½Ã°£ ½ºÀ§Ä¡¸¦ Ç×»ó 10¿ùÀÇ ¸¶Áö¸· ÀÏ¿äÀÏ¿¡ ¹ß»ýÇÕ´Ï´Ù °¡Á¤ÇÒ °ÍÀÔ´Ï´Ù.

ÇØ°á ¹æ¹ý

´ÙÀ½ µÎ °³ÀÇ ´ë¾È Áß Çϳª¸¦ ¼±ÅÃÇϽʽÿÀ.
  • DWORD ¹ÝȯÇÕ´Ï´Ù GetTimeZoneInformation Win32 SDK ÇÔ¼öÀÇ ¹Ýȯ °ªÀ» »ç¿ëÇϽʽÿÀ. ¹Ýȯ °ªÀº TIME_ZONE_ID_STANDARD ¶Ç´Â TIME_ZONE_ID_DAYLIGHT Àϱ¤ Àý¾à ½Ã°£Á¦¸¦ ½Ã½ºÅÛ ½Ã°£ÀÌ Á¶Á¤µÈ ¿©ºÎ¸¦ ³ªÅ¸³À´Ï´Ù. ¿Ã¹Ù¸£°Ô GetTimeZoneInformation Ç¥ÁØ ½Ã°£´ë ¼³Á¤À» ÇöÀç ½Ã½ºÅÛ °£ÁÖÇϰí ÀûÀýÇÑ ³¯Â¥¸¦ Á¶Á¤ÇÕ´Ï´Ù. ´Ù¸¥ °¡´ÉÇÑ ¹Ýȯ °ªÀÌ °°ÀÌ GetTimeZoneInformation, ¼³¸í¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

    - ¶Ç´Â -
  • C ·±Å¸ÀÓ ¶óÀ̺귯¸® ¼Ò½º ±¸ÇÏ¿© µû¶ó ÇöÀç ½Ã½ºÅÛ Ç¥ÁØ ½Ã°£´ë ¼³Á¤À» Á¶Á¤ÇÏ·Á¸é localtime ÇÔ¼ö¸¦ ¼öÁ¤ÇϽʽÿÀ. C ·±Å¸ÀÓ ¶óÀ̺귯¸® ¼Ò½º ¿©·¯ À§Ä¡¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. C ·±Å¸ÀÓ ¶óÀ̺귯¸® ¼Ò½º ±¸ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

    Visual C++ 2.x:
    123464·±Å¸ÀÓ ¶óÀ̺귯¸® ¼Ò½º ÄÚµå Visual C++ 2.0 ±¸ÇÏ´Â ¹æ¹ý
    Âü°í: localtime Localtim.c ÆÄÀÏ¿¡¼­°¡ Á¤Àǵ˴ϴÙ. Windows NT ¹× Windows 95 µÑ ´Ù ´Ù¸¥ ³¯Â¥¿¡ ÀÇÇØ ¹æ½ÄÀ» »ç¿ëÇÏ¿© HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation¿¡ ´ëÇÑ °èÁ¤ Á¦¾îÆÇ¿¡¼­ Ç¥ÁØ ½Ã°£´ë¸¦ º¯°æÇÒ ¶§ º¯°æµÈ ·¹Áö½ºÆ®¸® Ç׸ñÀ».

ÇöÀç »óÅÂ

Microsoft´Â ÀÌ ¹®¼­ÀÇ ½ÃÀÛ ºÎºÐ¿¡ ³ª¿­ÇÑ Á¦Ç°¿¡¼­ ¹ö±×°¡ ¼ö ÀÖµµ·Ï ÀÌ È®ÀÎÇß½À´Ï´Ù. Microsoft Visual ÀÖ´Â C++, 32ºñÆ® ¹öÀü, ¹öÀü 4.1ÀÌ ÀÌ ¹ö±×°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù.

Ãß°¡ Á¤º¸

ÀϺΠ½Ã°£´ë Àϱ¤ Àý¾à ½Ã°£Á¦ ´Ù½Ã ÇÑ ´Þ Àü¿¡ ¹Ì±¹ Ç¥ÁØ ½Ã°£´ë¿¡ Æ÷ÇÔÇÏ¿© ´ëºÎºÐÀÇ Ç¥ÁØ ½Ã°£´ë¿¡ ´ëÇÑ Ç¥ÁØ ½Ã°£ ÀüȯÇÕ´Ï´Ù. GMT + 0200 (Ä«ÀÌ·Î) µé ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ ´Ù¸¥ Ç¥ÁØ ½Ã°£´ë¿¡ 10¿ùÀÇ ¸¶Áö¸· ÀÏ¿äÀÏ¿¡ ÀüȯÇÒ ¹Ý¸é, GMT + 0200 Ç¥ÁØ ½Ã°£´ë ½ºÀ§Ä¡¸¦ 9¿ù, ¸¶Áö¸· ¼ö¿äÀÏ ³¯Â¥ÀÔ´Ï´Ù.

À߸øµÈ °á°ú¸¦ Áß Çü½Ä (Á¤ÀÇµÈ Time.h) tm Á¦°øÇÕ´Ï´Ù ±¸Á¶¿¡¼­ ä¿ì·Á¸é CRT localtime() È£ÃâÇϸé 0ÀÌ ¾Æ´Ñ ½Ã°£ Áß Çϳª¿¡¼­ È£ÃâÇÒ °æ¿ì tm_isdst µ¥ÀÌÅÍ ¸â¹ö¿¡ ´ëÇØ µÑ »çÀÌ¿¡ ¼ÓÇÏ´Â ³¯Â¥ÀÇ Ãʱ⿡ ÇØ´ç ½ºÀ§Ä¡¸¦ ¿µ¿ª. ½Ã½ºÅÛ ½Ã°£ÀÌ Àϱ¤ Àý¾à ½Ã°£Á¦°¡ Á¶Á¤µÈ tm_isdst ±¸¼º¿ø 0ÀÌ ¾Æ´Ñ °ªÀ» ³ªÅ¸³À´Ï´Ù.

¿¹Á¦ ÄÚµå

/* Compile options needed: None
*/ 

#include <iostream.h>
#include <time.h>

void main()
{
  tm *loc;
  time_t clock;

  time(&clock);
  tzset();
  loc = localtime(&clock);
  cout << "In timezone GMT+0200, 9-26-1995 is DST, ";
  cout << "9-27-1995 is not DST" << endl;
  cout << "The current date and time is: " << asctime(loc) << endl;
  if(loc->tm_isdst)
    cout << "It is daylight saving time" << endl;
  else
    cout << "It isn't daylight saving time" << endl;
}
				

¹®Á¦¸¦ ÀçÇöÇÏ´Â ¹æ¹ý

  1. ½Ã½ºÅÛ ³¯Â¥¸¦ 9/26/95 º¯°æÇϽʽÿÀ.
  2. GMT + 0200 Ç¥ÁØ ½Ã°£´ë¸¦ º¯°æÇϽʽÿÀ. Âü°í ÀÌÁýÆ® Àϱ¤ Àý¾à ½Ã°£Á¦ ½Ã°£ ¿µ¿ªÀ¸·Î Ç¥½ÃÇÕ´Ï´Ù. (Windows 95 ¹× Windows NT ÀÚµ¿À¸·Î ½Ã°£ Á¶Á¤.)
  3. À§ÀÇ ¿¹Á¦ Äڵ带 ½ÇÇàÇϰí À̸¦ ¿Ã¹Ù¸£°Ô Àϱ¤ Àý¾à ½Ã°£Á¦ °ÍÀÌ µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
  4. ½Ã½ºÅÛ ³¯Â¥¸¦ 9/27/95 º¯°æÇϽʽÿÀ. ÀÌÁýÆ® Àϱ¤ Àý¾à ½Ã°£ ÀÌÁýÆ® Ç¥ÁØ º¯°æÇÕ´Ï´Ù Âü°í. (Windows 95 ¹× Windows NT ÀÚµ¿À¸·Î ½Ã°£ Á¶Á¤.)
  5. »ùÇà Äڵ带 ´Ù½Ã ½ÇÇàÇϰí À̸¦ À߸ø Àϱ¤ Àý¾à ½Ã°£Á¦ °ÍÀÌ µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.

¼Ó¼º

±â¼ú ÀÚ·á: 148681 - ¸¶Áö¸· °ËÅä: 2007³â 1¿ù 23ÀÏ È­¿äÀÏ - ¼öÁ¤: 3.1
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • The C Run-Time (CRT)?À»(¸¦) ´ÙÀ½°ú ÇÔ²² »ç¿ëÇßÀ» ¶§
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 2.2
    • Microsoft Visual C++ 4.0 Standard Edition
Ű¿öµå:?
kbmt kbbug kbcrt kbfix kblist KB148681 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
´õ ÀÌ»ó Áö¿øµÇÁö ¾Ê´Â Á¦Ç°ÀÇ KB ³»¿ë¿¡ ´ëÇÑ °íÁö »çÇ×
ÀÌ ¹®¼­¿¡¼­´Â Microsoft¿¡¼­ ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â Á¦Ç°¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¹®¼­´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù.

Çǵå¹é º¸³»±â