<%Option Explicit%>
<%
'변수 정의 // 상단의 옵션 사용시 정의되지 않은 변수는 오류를 발생시킵니다
Dim nowDay, nowDate, nowMonth, nowYear
Dim firstDay, firstDayFlag, dates, i, j, today, hday
Dim py, pm, pd, ny, nm, nd
Dim showprev, shownext, btn_prev, btn_next
Dim days, months, days_color, days_bg
Dim holiday(13, 32), gPathinfo
gPathinfo = Request.ServerVariables("PATH_INFO")
Dim cW, dH
'---------------------------------------------------------------------------
' 사용자 정의 값 // 추가, 수정, 삭제 가능
'---------------------------------------------------------------------------
cW = 200 ' 달력 전체의 width 값 설정
dH = 25 ' 달력 한칸의 height 값 설정
'공휴일 설정(월, 일)
holiday(1,1) = "신정"
holiday(1,2) = " " '신정연휴
holiday(3,1) = "삼일절"
holiday(5,5) = "어린이날"
holiday(6,6) = "현충일"
holiday(8,15) = "광복절"
holiday(10,3) = "개천절"
holiday(12,25) = "성탄절"
'요일, 글자색, 배경색
days = Array("0", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
days_color = Array("0", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF")
days_bg = Array("0", "#ffcc00", "0066cc", "0066cc", "0066cc", "0066cc", "0066cc", "999999")
'월 표시문구
months = Array("0", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
'---------------------------------------------------------------------------
' 사용자 정의 값
'---------------------------------------------------------------------------
'---------------------------------------------------------------------------
' 필수 설정 값
'---------------------------------------------------------------------------
'이전달 다음달 선택한경우 값 받기
nowYear = Request("y")
nowMonth = Request("m")
nowDate = Request("d")
'오늘의 요일, 년, 월, 일
If nowYear = "" And nowMonth = "" Then
nowDay = Weekday(now)
nowYear = Year(now)
nowMonth = Month(now)
nowDate = Day(now)
End If
'이번달 1일의 요일구하기
firstDay = WeekDay(DateSerial(nowYear,nowMonth,1)) - 1 ' 이번달 1일의 요일 1~7 일~토
'윤년일경우 2월달 29일까지표시
If nowYear Mod 4 <> 0 Then
dates = Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
Else
dates = Array(0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
End If
'첫번째날 시작을 체크하기위한 값
firstDayFlag = 0
'이전달 다음달
py = nowYear
pm = nowMonth -1
ny = nowYear
nm = nowMonth + 1
showprev = pm&"월"
shownext = nm&"월"
If nowMonth = 1 Then
py = nowYear -1
pm = 12
showprev = py&"년 "&pm&"월"
End If
If nowMonth = 12 Then
ny = nowYear + 1
nm = 1
shownext = ny&"년 "&nm&"월"
End If
'---------------------------------------------------------------------------
' // 필수 설정 값
'---------------------------------------------------------------------------
%>
<html>
<head>
<title> ASP - 달력 </title>
<style type="text/css">
td, tr, table {
font-size : 12px;
color : #000000;
}
a:link { text-decoration: none; color: #666666; }
a:visited { text-decoration: none; color: #666666; }
a:hover { text-decoration: none; color:#000000; }
</style>
</head>
<body>
<%
'-----------------------------------------------------------------------------------
' 현재 년, 월 표시
'-----------------------------------------------------------------------------------
%>
<table width="<%=cW%>" border="3" align="center" cellspacing="0" cellpadding="5">
<tr>
<td align="left" width="<%=cW%>" style="border:0 0 0 0"><b>
<%=nowYear%>-<%=nowMonth%> <%=months(nowMonth)%>
</td>
</tr>
</table>
<%
'-----------------------------------------------------------------------------------
' // 현재 년, 월 표시
'-----------------------------------------------------------------------------------
'테두리
%>
<table width='<%=(cW-6)%>' border='3' cellspacing='0' cellpadding='0' align='center' valign='middle' style='margin-top:2'>
<tr>
<td style='border:0 0 0 0'><%'테두리 보더%>
<table width='<%=(cW-6)%>' border='0' cellspacing='1' cellpadding='0' bgcolor='#EFEFEF' align='center' valign='middle'>
<%
'-----------------------------------------------------------------------------------
' 요일 타이틀 표시
'-----------------------------------------------------------------------------------
%>
<tr bgcolor='#FFFFFF'>
<%
For i=1 To 7
%>
<td align="center" valign="middle" width="80" height="23" bgcolor="<%=days_bg(i)%>">
<font color="<%=days_color(i)%>"><%=days(i)%></font>
</td>
<%
Next
%>
</tr>
<%
'-----------------------------------------------------------------------------------
' // 요일 타이틀 표시
'-----------------------------------------------------------------------------------
'-----------------------------------------------------------------------------------
' 날짜 표시
'-----------------------------------------------------------------------------------
%>
<tr bgcolor='#FFFFFF'>
<%
i = 1 '날짜 표시용 변수
j = 1 '요일계산용 변수
Do While i <= dates(nowMonth) '이번달 일수만큼 i증가 반복
'이번달 1일에 맞는 요일이되면 플래그값 변경
If firstDay+1 = j Then
firstDayFlag = 1
End If
'요일 플래그값이 1이면 날짜 표시 시작
If firstDayFlag = 1 Then
hday = ""
today = i
'오늘날짜 굵게표시
If i = CInt(nowDate) Then
today = "<b>" & i & "</b>"
End If
'일, 토요일 색 표시 (공휴일도)
If j Mod 7 = 1 Or holiday(nowMonth, i) <> "" Then
hday = holiday(nowMonth, i)
today = "<font color='red'>" & today & "</font>"
ElseIf j Mod 7 = 0 Then
today = "<font color='blue'>" & today & "</font>"
End If
%>
<td valign="top" onMouseOver="this.style.background='#EFFFEF'" onMouseOut="this.style.background='#FFFFFF'" height="<%=dH%>">
<%=today%><span style="font-size:11px;font-family:궁서"><%=hday%></span>
</td>
<%
i = i + 1
'요일 플래그값이 0이면 빈칸
Else
%>
<td> </td>
<%
End If
If i <= dates(nowMonth) Then
'일주일마다 줄바꿈
If j Mod 7 = 0 Then
%>
</tr><tr bgcolor='#FFFFFF'>
<%
End If
End If
j = j + 1
Loop
'마지막날이 토요일이 아닐경우 토요일까지 반복
Do Until j Mod 7 = 1
%>
<td> </td>
<%
j = j + 1
Loop
%>
</tr>
</td></tr>
<%
'-----------------------------------------------------------------------------------
' // 날짜 표시 끝
'-----------------------------------------------------------------------------------
%>
</table>
</td></tr></table><%'테두리 보더%>
<%
'-----------------------------------------------------------------------------------
' 이전, 다음 버튼 표시
'-----------------------------------------------------------------------------------
btn_prev = "<span style='font-size:10px'><</span>" ' 이전 버튼, 이미지로 교체 가능
btn_next = "<span style='font-size:10px'>></span>" ' 다음 버튼, 이미지로 교체 가능
%>
<table width="<%=cW%>" border="3" align="center" cellspacing="0" cellpadding="5" style="margin-top:2">
<tr>
<td align="center" width="<%=cW%>" style="border:0 0 0 0">
<b><a href="<%=gPathinfo%>?y=<%=(nowYear-1)%>&m=<%=nowMonth%>"><span style="font-size:11px"><%=btn_prev & btn_prev%></span></a>
<a href="<%=gPathinfo%>?y=<%=py%>&m=<%=pm%>"><span style="font-size:11px"><%=btn_prev%></span></a>
<a href="<%=gPathinfo%>">Today</a>
<a href="<%=gPathinfo%>?y=<%=ny%>&m=<%=nm%>"><span style="font-size:11px"><%=btn_next%></span></a>
<a href="<%=gPathinfo%>?y=<%=(nowYear+1)%>&m=<%=nowMonth%>"><span style="font-size:11px"><%=btn_next & btn_next%></span></a>
</td>
</tr>
</table>
<%
'-----------------------------------------------------------------------------------
' // 이전, 다음 버튼 표시 끝
'-----------------------------------------------------------------------------------
%>
</body>
</html>
[네이버 지식인 펌 ]