ASP

ASP 날짜 관련 사용자 정의 함수 (펌)

bang2001 2013. 9. 23. 16:58

아래 자료 출처 : http://blog.naver.com/woodambara_?Redirect=Log&logNo=20061377298



'-- 해당날짜(chkdate)에 속한 주(Week)의 일요일과 토요일의 날짜(Date) 구하기

'-- 파라미터는 2009-01-01 형식으로 된 문자열

FUNCTION week_day(chkdate)

     SELECT CASE weekday(CDate(chkdate))

          CASE 1 : temp1 = CDate(chkdate) - 0 : temp2 = CDate(chkdate) + 6 '일

          CASE 2 : temp1 = CDate(chkdate) - 1 : temp2 = CDate(chkdate) + 5 '월

          CASE 3 : temp1 = CDate(chkdate) - 2 : temp2 = CDate(chkdate) + 4 '화

          CASE 4 : temp1 = CDate(chkdate) - 3 : temp2 = CDate(chkdate) + 3 '수

          CASE 5 : temp1 = CDate(chkdate) - 4 : temp2 = CDate(chkdate) + 2 '목

          CASE 6 : temp1 = CDate(chkdate) - 5 : temp2 = CDate(chkdate) + 1 '금

          CASE 7 : temp1 = CDate(chkdate) - 6 : temp2 = CDate(chkdate) + 0 '토

     END SELECT


     week_day = temp1 &"|"& temp2

END FUNCTION



'-- 해당 연,월의 마지막일자 구하기

FUNCTION last_day(year,month)

     temp = CDate(LEFT(dateadd("m",1,year &"-"& month &"-01"),7) &"-01")-1

     last_day = Split(temp,"-")(2)

END FUNCTION



'-- 해당 날짜(getdate )가 속한 주차(1주차, 2주차) 구하기

'-- 파라미터는 2009-01-01 형식으로 된 문자열

FUNCTION now_week(getdate)

     now_week = int((Day(getdate) - weekday(getdate)+13)/7)

END FUNCTION



'-- 해당 연,월부터 1월달까지의 총 주차수

'ex) 2013년 1월 4주, 2월 5주인 경우

'      month_week(2013,2) 의 반환값은 정수값 9가 된다.

FUNCTION month_week(year, month)

     week = 0


     FOR i = 1 TO month

          week = week + now_week(year &"-"& i &"-"& last_day(year,i))

     NEXT


     month_week = week

END FUNCTION




'ASP' 카테고리의 다른 글

ASP Redirect 사용하기  (0) 2014.07.30
널값체크 isnull()  (0) 2014.07.30
HTML에서 <select></select>에 사용하기 위한 함수  (0) 2014.07.17