这是我在一本书上操的一个时间生成小程序。但是不能进行时间的选择。请懂的大哥帮我看看。我不胜感激。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'定义年和月
dim sYear
dim sMonth
'如果没有检测到请求的话,年月的值为当前时间的值
if request("sYear")=""then
sYear=year(date())
sMonth=month(date())
else
'检测到输入的值,把接受输入值给变量
sYear=request("sYear")
sMonth=request("sMonth")
end if
'初始化时间的一个函数,主要根据提交的年月请求来实现时间的输入
sub InitCalendar() '初始化日历
'定义变量
dim I
dim J
dim WeekNum
dim StartWeek '本月1号的星期数
dim MonthDay '本月的天数
'使用VB脚本自带的函数取得本月1号的星期数
StartWeek=Weekday(sYear & "-" & sMonth & "-01")
'如果提交的月数是12的话,使用对应函数取得月天数
if sMonth=12 then
MonthDay=datediff("d",sYear&"-"&sMonth&"-01",(sYear+1)&"-01-01")
'如果是12月以外的月份,使用不同的参数产生天数
else
MonthDay=datediff("d",sYear&"-"&sMonth&"-01",sYear&"-"&(sMonth+1)&"-01")
end if
'如果月天数和本月1号星期数对7的余数为0或者是1,则获得本月的周数
if (MonthDay+StartWeek) mod 7 =0 or(MonthDay+StartWeek) mod 7 =1 then
WeekNum=(MonthDay+StartWeek)/7
'如果余数不为1,则使用对应公司后,值取整并且需要加1
else
WeekNum=int(MonthDay+StartWeek)/7+1
end if
DayNO=1
'根据取得的周数循环出一共多少周,一周是一行
for I=1 to WeekNum '按周(行) 填写内容
response.Write("<tr align='center' height='20'>")
'使用FOR循环,循环次数为7,循环出本月的各天,使用表格列出
for J=1 to 7
if DayNo>MonthDay then '判断是否超过本月天数
'如果超过本月天数,则本列为空值
response.Write("<td> </td>")
else
'如果当前的J小于1号星期数那么也是显示本列为空
if (J<StartWeek and I=1) then
response.Write("<td> </td>")
else
'如果取得的年月日和当天的日期是一样的,标识变量为today,否则为unnamed1
if year(date)=sYear and month(date) =sMonth and day(date)=DayNo then
Acls="today"
else
Acls="unnamed1"
end if
'显示日期、日期文字的样式根据Acls标识值来确定,样式表请参照下文注释,单击后将学要传递的值传递到父页面的目标框中去
response.Write("<td width='71' valign='top' valign='bottom'><a href='#'class='"&Acls&"' onClick=opener.document,"& request("Accept") &".value='"&sYear&"-"&sMonth&"-"&DayNo&"';window.close();>"& DayNo &"号</a>" & "</td>")
end if
'日期号加1
DayNo=DayNo+1
end if
next
response.Write("</tr>")
next
end sub
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>日期选择</title>
<!-- 下面是一段CSS样式表,将文本连接等格式定义了,如字体是默认,颜色是333366等-->
<style type="text/css">
<!--
td{font-size:12px;}
<!--字体1的样式颜色为333366-->
.unnamed1:visited{color:#333366;text-decoration:none;}
<!-- 超级连接的样式颜色也为333366-->
.unnamed1:link{color:#333366;text-decoration:none;}
.unnamed1:hover{color:#8A8DAC;text-decoration:underline;}
<!--如果日期为今天,则样式字体颜色为ee0000,粗体-->
.today{
color:#ee0000;
text-decoration:none;
font-weight:bold;
}
-->
</style>
<!--一个表格,为年月选择-->
</head>
<body leftmargin="0" topmargin="0" bgcolor="E7CCA1">
<table width="320" height="155" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="31" align="center"> 日期选择</td>
</tr>
<tr>
<td height="22"><table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="28" align="center" valign="middle" bordercolor="#FFFFFF">
<table width="170" height="12" border="0" align="center" cellpadding="0" cellspacing="0">
<!--一个用来传递输入年月的表单,使用POST方法传递,目标本页面,装载了需要查询的年和月的值,也就是sYear和sMonth-->
<form name="frmquery" method="post" action=""><tr>
<td width="17%" height="10" rowspan="2" align="right" valign="middle"><input name="sYear" type="text" size="4" maxlength="4" align="middle" onchange=checknum() value=<%response.Write(sYear)%> ></td>
<td width="9%" height="10" valign="bottom">
<a href="javascript:changenum('sYear',1)"><img src="mywork/pic/up.gif" width="15" height="15" border="0"></a></td>
<td width="120" height="10" rowspan="2" align="right" valign="middle"> 年
<input name="sMonth" type="text" size="2" maxlength="2" align="middle" onchange=checknum() value=<%response.Write(sMonth)%>>
</td>
<td width="9%" height="10" valign="bottom">
<a href="javascript:changenum('sMonth',1)"><img src="mywork/Pic/up.GIF" width="15" height="15" border="0"></a></td>
<td width="141" height="10" rowspan="2" valign="top"> 月
<input type="submit" name="Submit" value="查询" onFocus=checknum() style="width:0px;">
<input type="hidden" name="Accept" value="<%=request("Accept")%>"></td>
</tr>
<tr>
<td height="9" valign="top"><a href="javascript:changenum('sYear',0)"><img src="mywork/pic/down.gif" width="15" height="15" border="0"></a></td>
<td valign="top"><a href="javascript:changenum('sMonth',0)"><img src="mywork/pic/down.gif" width="15" height="15" border="0"></a></td>
</tr>
</form></table>
</td>
</tr>
<tr>
<td valign="top"><table width="400" border="1" bordercolor="#333E01" cellpadding="5" cellspacing="0" style="border-collapse:collapse">
<tr align="center" bgcolor="#9CA663">
<td width="41" height="30"><font color="#FFFFFF">星期日</font></td>
<td width="41"><font color="#FFFFFF">星期一</font></td>
<td width="41"><font color="#FFFFFF">星期二</font></td>
<td width="41"><font color="#FFFFFF">星期三</font></td>
<td width="41"><font color="#FFFFFF">星期四</font></td>
<td width="41"><font color="#FFFFFF">星期五</font></td>
<td width="41"><font color="#FFFFFF">星期六</font></td>
</tr>
<%InitCalendar%>
</table></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="38" align="center" valign="middle"><font color="#FF0000">今天是<%=Date%></font>
</td>
</tr>
</table>
</body>
</html>
[此贴子已经被作者于2006-5-27 19:31:10编辑过]