2008. 5. 19. 13:15

자바 스크립트에서 구현하는 요일 출력하기 입니다.

<script language="JavaScript">
  // 함수 정의
  //-------------------------------------
 
  // 요일 구하기 (년/월/일 입력하면 해당 요일을 출력)
  // Coded by : 구공탄(최영민)
  // 2008-05-19 MON
  // http://www.gugongtan.net
  function ext_day(n_year,n_month,n_day){
   var p_year = n_year -1;
   var p_month = n_month-1;
   var ext = 0;

   ext = parseInt((p_year*365 + parseInt(p_year/4) + day_cnt(n_year,p_month) + e_day -1)%7)

   return day_str(ext)
  }

  //날짜 수 계산
  // (요일 구하기 함수의 부분....)
  function day_cnt(year, month) {
   if(month==1)
    return 31
   else if(month==2){
    if(year%4==0)
     return 60
    else
     return 59
    }
   else if(month==3){
    if(year%4==0)
     return 91
    else
     return 90
    }
   else if(month==4){
    if(year%4==0)
     return 121
    else
     return 120
    }
   else if(month==5){
    if(year%4==0)
     return 152
    else
     return 151
    }
   else if(month==6){
    if(year%4==0)
     return 182
    else
     return 181
    }
   else if(month==7){
    if(year%4==0)
     return 213
    else
     return 212
    }
   else if(month==8){
    if(year%4==0)
     return 244
    else
     return 243
    }
   else if(month==9){
    if(year%4==0)
     return 274
    else
     return 273
    }
   else if(month==10){
    if(year%4==0)
     return 305
    else
     return 304
    }
   else if(month==11){
    if(year%4==0)
     return 335
    else
     return 334
    }
   else if(month==12){
    if(year%4==0)
     return 366
    else
     return 365
    }
  }

  // 요일 표시
  // (요일 구하기 함수의 부분....)
  function day_str(num) {
   if(num==0)
    return "일"
   else if(num==1)
    return "월"
   else if(num==2)
    return "화"
   else if(num==3)
    return "수"
   else if(num==4)
    return "목"
   else if(num==5)
    return "금"
   else
    return "토"
  }


 
  // 처리부...
  document.write(ext_day(2008,5,24))
 </script>



맨 마지막의 ext_day(년,월,일) 을 입력하면 해당요일이 출력됩니다.
혹, 잘못된 부분이나 버그가 존재 할수 있으므로 사용에 참고하시기 바랍니다

Posted by 해비