Áú¹®°ú ´äº¯

³¯Â¥ °£°ÝÀ» ±¸ÇØÁÖ´Â ÇÔ¼ö°¡ ÀÖ½À´Ï±î? ³¯Â¥:2020-9-22 9:01:08 Á¶È¸¼ö:446
ÀÛ¼ºÀÚ : Program
Æ÷ÀÎÆ® : 164
°¡ÀÔÀÏ : 2020-02-13 11:49:35
¹æ¹®È½¼ö : 52
±Û 18°³, ´ñ±Û 12°³
¼Ò°³ : Àç¹ÌÀÖ´Â ÇÁ·Î±×·¥
ÀÛ¼º±Û º¸±â
ÂÊÁö º¸³»±â
¿¹¸¦µé¸é 2019 09 09 ¿¡¼­ 2020 10 01 ±îÁö
³¯Â¥¼ö´Â 386ÀÏ? Àε¥
À̸¦ ±¸ÇØÁÖ´Â ÇÔ¼ö DayDiff ( 20190909, 20201001);
ÀÌ·± À©µµ¿ì¿ë ÇÔ¼ö°¡ ÀÖÀ» ¹ýµµ Çѵ¥
Ȥ½Ã ¾Æ½Ã´Â ºÐ ÀÖÀ¸¸é Á» ºÎŹÇÕ´Ï´Ù.

µÎ ³¯Â¥¸¦ ³ÖÀ¸¸é »çÀÌÀÇ °æ°ú³¯¼ö¸¦ ¸®ÅÏÇØ ÁÖ´Â ÇÔ¼ö

¸ñ·Ïº¸±â »èÁ¦ ¼öÁ¤ ½Å°í ½ºÅ©·¦

Program 9¿ù24ÀÏ 6:26:34  

À̰ÅÂü ³»°¡ Áú¹®ÇÏ°í ³»°¡ ¶Ç ´äÀ» ÇϰԵdz×
Á» º¹ÀâÇÒ °Í °°¾Ò´Âµ¥ ¸·»ó ±¸ÇöÇØ º¸´Ï »ý°¢º¸´Ù´Â ½±°Ô ±¸ÇöµÇ´õ±º¿ä
y1 m1 d1 ~ y2,m2,d2 ±îÁö·Î µÎ°í
if(y1 < y2)
{
if(m1 < m2)
{
}
else if(m1==m2)
{
}
else
{
}
else if(y1==y2)
...
...
ÀÌ·¸°Ô ¸ðµÎ °æ¿ì 3x3x3=27 °¡Áö¿¡¼­ ÇϳªÇϳª ±¸ÇöÇØ º¸´Ï
´ëºÎºÐ °°Àº ÄÚµå·Î ³ª¿Í °æ¿ìÀÇ ¼ö°¡ ÅëÇյ˴ϴÙ.
¿©±â¼­ ¸ÕÀú ¿ùº°³¯Â¥¹è¿­ int arday[]={0,31,28,31,30 ....}À» ¸¸µé¾î ³õ°í
ÀÌ ¹è¿­À» ÂüÁ¶Çϵµ·Ï ÇϺ¯ µË´Ï´Ù.

±×·°Àú·° Àß µ¿ÀÛÇϴµ¥
À±³â 2¿ù29ÀϱîÁö ¾Ò´Â ÇØ
À̰ÍÀ» ±¸ÇöÇÒ·Á´Ï ¸·È÷³×¿ä

ÀÛ°¡K 9¿ù29ÀÏ 6:28:17  

À©µµ¿ì¿ë ÇÔ¼ö°¡ µû·Î ÀÖÁö´Â ¾Ê½À´Ï´Ù. ´ë½Å Àý´ë ³¯Â¥¿Í »ó´ë ³¯Â¥¸¦ ÅëÇØ ¿¬»ê °¡´ÉÇÕ´Ï´Ù.

// st ³¯Â¥ÀÇ Àý´ë ³¯Â¥¸¦ ±¸ÇÑ´Ù. 1601³â 1¿ù 1ÀÏÀ» ±âÁØ(0ÀÏ)À¸·Î °æ°úÇÑ ³¯Â¥ ¼ö¸¦ ¼¼ ÁØ´Ù.
DWORD MyGetAbsDay(SYSTEMTIME st)
{
 INT64 i64;
 FILETIME fst;

 st.wHour=st.wMinute=st.wSecond=st.wMilliseconds=st.wDayOfWeek=0;
 SystemTimeToFileTime(&st,&fst);
 i64=(((INT64)fst.dwHighDateTime) << 32) + fst.dwLowDateTime;
 i64 = i64 / 864000000000;
 return (DWORD)i64;
}

// Àý´ë ³¯Â¥¸¦ ½Ã½ºÅÛ Å¸ÀÓÀ¸·Î ¹Ù²Û´Ù.
void MyAbsToSystem(DWORD Abs, SYSTEMTIME &st)
{
 INT64 i64;
 FILETIME fst;

 i64=Abs * 864000000000;
 fst.dwHighDateTime = (DWORD)(i64 >> 32);
 fst.dwLowDateTime = (DWORD)(i64 & 0xffffffff);
 FileTimeToSystemTime(&fst, &st);
}

ÀÌ µÎ ÇÔ¼ö¸¦ Àß »ç¿ëÇϸé DiffDay ÇÔ¼ö¸¦ ¸¸µé¾î ¾µ ¼ö ÀÖÁö¿ä. SYSTEMTIME ŸÀÔÀÇ sStart¿Í sEnd°¡ ÀÖ´Ù¸é °æ°úÀÏÀº ´ÙÀ½ °ø½ÄÀ¸·Î ±¸ÇÕ´Ï´Ù.

dStart=MyGetAbsDay(sStart);
dEnd=MyGetAbsDay(sEnd);
dEllipse=dEnd-dStart;

±×³É »©±â¸¸ ÇÏ¸é µÇÁö¿ä. ÃÊ ´ÜÀ§±îÁö °è»êÇÏ´Â ÇÔ¼öµµ ¹°·Ð ¸¸µé ¼ö ÀÖ¾î¿ä.
 

Program 9¿ù30ÀÏ 12:10:04  

¿À !
À§ ÄÚµå·Î ¸¸µé¾î ½ÇÇàÇÏ´Ï Àß µË´Ï´Ù. À±³â 1ÀÏ ´õ ÀÖ´Â °Íµµ °è»êÇϰí
»ç½Ç ÀºÇà Àû±Ý ÇÁ·Î±×·¥À» ¸¸µé¾ú°Åµç¿ä
ÇÑ´Þ ¿À½Ê¸¸¿ø¾¿ 1³â ÀÌÀ² 2.8%·Î ³Ö°í µ¹¸®´Ï
À±³â 1ÀÏÀÌ ÀÛµ¿¾ÈÇÒ¶§ 30¿ø Á¤µµ ¿ÀÂ÷°¡ ³ª´õ´Ï
À±³âÀ» Æ÷ÇÔÇÏ¿© °è»êÇÏ´Ï ÀºÇุ±âȯ±Þ±Ý°ú 2¿øÀÇ ¿ÀÂ÷°¡ ³ª¿À´õ±º¿ä
À̰ÍÀº ¾Æ¸¶µµ ÀÌÀ²ÀÇ ¼Ò¼öÁ¡¾Æ·¡±îÁö ¹Ì¼¼ÇÑ °è»êÀÇ ¿ÀÂ÷°¡ ¾Æ´Ñ°¡ »ý°¢µì´Ï´Ù

ÇÑÆí À§ ÇÔ¼ö¿¡¼­ Àý´ë½Ã°£ ½Ã½ºÅ۽𣠰£ÀÇ º¯È¯À» ÀÌ¿ëÇÏ´Ï
¸Å¿ù Àû±ÝÀÎÃâÀÏÀÌ 19ÀÏ À϶§ 1¿ù19ÀÏ 2¿ù19ÀÏ ... ¿ø±Ý°ú ÀÌÀÚ¸¦ Ãâ·ÂÇØ ÁÖ°í
3¿ù19ÀÏÀÌ ÀÏ¿äÀÏÀ̸é 3¿ù20ÀÏ(¿ù)¿¡ ÀÎÃâµÇµµ·Ï Ãâ·Â±îÁö ÇÏ´Â Äڵ嵵 ¸¸µé¾ú½À´Ï´Ù.
if(3¿ù19ÀÏ==sunday) start += 1;
MyAbsToSystem(start,st); ÀÌ·±½ÄÀ¸·Î ÇÏ·çµÚ ³¯Â¥¸¦ ±¸ÇÏ¿© Ãâ·ÂÇÏ¿´½À´Ï´Ù.
¹°·Ð ¿©±â¼­ 3¿ù19ÀÏÀÌ ¹«½¼¿äÀÏÀÎÁö´Â GetLocalTiem()À¸·Î ¿À´Ã¿äÀÏÀ» ±¸ÇÑ ÈÄ
³¯Â¥°£°ÝÀ» ¶Ç °è»êÇϰí À̸¦ 7·Î ³ª´©°í »ì¦ º¹ÀâÇÕ´Ï´Ù¸¸ 

À§ ÄÚµå Á¤¸» °¨»çµå¸³´Ï´Ù.(¾ð¶æ º¸´Ï ¾ÆÁÖ ¿¹Àü¿¡ ÀúÀÚ APIÃ¥¿¡¼­ º» ±â¾ïÀÌ °¡¹°°¡¹° Çϱ⵵...)


·Î±×ÀÎÇÏ¼Å¾ß ´ñ±ÛÀ» ´Þ ¼ö ÀÖ½À´Ï´Ù.