View Source Code

SourceFileName = "samples/Calendar2.asp"


C:\inetpub\wwwroot\aspsample\samples\Calendar2.asp

<!-- このスクリプトはご自由にご利用頂いて結構ですが、無断転用などを禁止いたします。Copyright K.Nakajima -->
<%
     Select Case Request.QueryString("ACT")
       Case "WRITE"
         sYear = Request.Form("Year")
         sMonth = Request.Form("Month")
         NowDate = CDate(sYear & "/" & sMonth & "/01")
         NowYear = Year(NowDate)
         NowMonth = Month(NowDate)
         NowDay = 0
         Day_Td  = "<td align=right><small>"
         Day_Td2 = "<td bgcolor=Yellow align=right><small>"
         Day_Tde = "</small></td>"
         Select Case NowMonth
           Case 1,3,5,7,8,10,12
             MaxDay = 31
           Case 3,4,6,9,11
             MaxDay = 30
           Case 2
             MaxDay = 28
             If (((NowYear Mod 4) = 0) And ((NowYear Mod 100) <> 0)) Or ((NowYear Mod 400) = 0) Then MaxDay = 29
         End Select 
         Youbi = Weekday(CDate(CStr(NowYear) + "/" + CStr(NowMonth) + "/01"))
         
         Response.Write "<font size=-2>" & NowYear & "年</font> <font size=-1>" & NowMonth & "月</font><br>"
         Response.Write "<font size=-3><table border=0 cellspacing=1 cellspacing=2>"
         Response.Write "<tr>"
         Response.Write Day_Td & "<font color=red>日</font>" & Day_Tde
         Response.Write Day_Td & "月" & Day_Tde
         Response.Write Day_Td & "火" & Day_Tde
         Response.Write Day_Td & "水" & Day_Tde
         Response.Write Day_Td & "木" & Day_Tde
         Response.Write Day_Td & "金" & Day_Tde
         Response.Write Day_Td & "<font color=blue>土</font>" & Day_Tde
         Response.Write "</tr>"

         Kyujitsu = 0
         Furikae = 0
         Counter = 1
         Response.Write "<tr>"
         If Counter <> Youbi Then
           For J = 1 To (Youbi - 1)
             Response.Write Day_Td & Day_Tde
           Next
           Counter = Youbi
         End if
         For I = 1 To MaxDay
           If (I = NowDay) Then
             Response.Write Day_Td2
           Else
             Response.Write Day_Td
           End if
           If (Counter = 1) Then Response.Write "<font color=red>"
           If (Counter = 7) Then Response.Write "<font color=blue>"
           NowDay2 = 100*NowMonth + I
    If (NowDay2 = 101) Or (NowDay2 = 109) Or (NowDay2 = 211) Or (NowDay2 = 321) Or (NowDay2 = 429) Or (NowDay2 = 503) Or (NowDay2 = 504) Or (NowDay2 = 505) Or (NowDay2 = 718) Or (NowDay2 = 918) Or (NowDay2 = 923) Or (NowDay2 = 1009) Or (NowDay2 = 1103) Or (NowDay2 = 1123) Or (NowDay2 = 1223) Then
             Response.Write "<font color=red>"
             Kyujitsu = 1
           End if
           If (Furikae = 1) Then
             Response.Write "<font color=red>"
           End if
           Response.Write I
           If (Counter = 1) Or (Counter = 7) Then Response.Write "</font>"
           If (Kyujitsu = 1) Then
             Response.Write "</font>"
           End if
           If (Furikae = 1) Then
             Response.Write "</font>"
             Furikae = 0
           End if
           If (Kyujitsu = 1) Then
             If Counter = 1 Then
               Furikae = 1
             End if
             Kyujitsu = 0
           End if
           Response.Write Day_Tde
           Counter = Counter + 1
           If Counter = 8 Then
             Response.Write "</tr><tr>"
             Counter = 1
           End if
         Next
         Response.Write "</tr>"
         Response.Write "</table></font>"
     End Select
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
<title>カレンダー表示(日付指定)</title>
</head>
<body>
 
<form method="POST" action="Calendar2.asp?ACT=WRITE">
  <p><input type="text" name="Year" size="8" value="<% = Year(Now) %>">年<select size="1" name="Month">
<%
  For I = 1 To 12
    If (I = Month(Now)) Then
      Response.Write "<option selected>" & I & "</option>"
    Else
      Response.Write "<option>" & I & "</option>"
    End if
  Next
%>
</select>月<br>
  <input type="submit" value="カレンダー表示" name="B1"><input type="reset" value="リセット" name="B2"></p>
</form>

<p>例えば、誕生した年と月を入力しますと、過去のカレンダーが見れます。<br>
もちろん、未来のカレンダーも・・・</p>
</body>
</html>