<P><style>td { font-family: 宋体; font-size:9pt}</style><body bgcolor=eeeeee><table width=180 cellpadding=0 cellpacing=1 bgcolor=dddddd align=center><% '以下は、ASP のこのカレンダー アルゴリズムによって実装された特定のコードです。</P><P> '最初に年と月が指定されているかどうかを判断し、指定されていない場合は、現在の年と月に基づいて If を表示します。 Request(ReqDate)= then CurrentDate=Dateelse CurrentDate=Trim(Request(ReqDate))end ifpyear=year(CurrentDate)pmonth=month(CurrentDate)</P><P> '次のコードは、カレンダー表示用のテーブル ヘッダーのコンテンツを生成します。 % > <tr align=LEFT bgcolor=#dddddd> <td width=14% height=19 align=center> <input type=button value=<< onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,-1,CurrentDate) %>'></td> <tdcolspan=5 align=center> <%=pyear% >年<%=pmonth%>月</td> <td width=14% align=center> <input type=button value=>> onclick=JavaScript:location.href='?ReqDate=<%=DateAdd(m,1,CurrentDate)%>'></td> </tr> <tr align=center bgcolor=#CCCCCC> <td width=14 % height=19> 日</td> <td width=14%> 1</td> <td width=14%> 2</td> <td width=14%> 3</td> <td width=14%> 4</td> <td width=14%> 5</td> <td width=14%> 6</td> </tr> <tr align=center bgcolor=ffffff height=19> <% ASP には指定した月の日数を取得する関数がないため、他のアルゴリズムを使用して取得する必要があります。アルゴリズムは実際には非常に単純で、1 日から 1 日までの合計日数を計算します。表示する月と翌月の1日 fromDate = FormatDateTime(month(CurrentDate) & /1/ & year(CurrentDate))toDate = FormatDateTime(DateAdd(m,1,fromDate))'表示する月の最初の日が何曜日であるかを取得します。nunmonthstart=weekday(fromDate)-1'表示する最初の日の間の合計日数を取得します。表示され、翌月の 1 日 (月に何日ありますか)nunmonthend=DateDiff(d,fromDate,toDate)' カレンダーを表示するために使用するテーブルの行数を決定します (各行には 7 日が表示されます) ) もしnunmonthstart+nunmonthend<36 then maxi=36else maxi=43end if'ループしてテーブルを生成し、i=1do while i<maxi iv=i-nunmonthstart if i>nunmonthstart and i<=nunmonthend+nunmonthstart then '表示される内容がは今日です。 次に、iv=Day(now) および month(now)=pmonth および year(now)=pyear の場合、赤色の背景で表示します then response.write( <td align=center bgcolor=ffaaaa><a href='#' target=_blank> & iv & </a></td>) else response.write( <td align=center><a href='#' target= _blank> & iv & </a></td>) end if else response.write( <td> </td>) end if</P><P> ' 7 で割り切れる場合 (1 行に 7 を表示)、改行を出力 if i mod 7=0 then response.write( </tr><tr align=center bgcolor=ffffff height=19>) end if i=i +1loop%></table></body>