<?
//如果未传递参数,则取当前日期
if(!$selectedDay)
{
$selectedDay=date('d');
}
if(!$selectedMonth)
{
$selectedMonth=date('m');
}
if(!$selectedYear)
{
$selectedYear=date('Y');
}
//获得指定月份的第一天是星期几?
$firstday=date('w',mktime(0,0,0,$selectedMonth,1,$selectedYear));
$lastday=31;
//have to perform to test from 31 backwards using this to see which is the last day of the month 从31天从始向后做循环,找出哪一天是这个月的最后一天
do
{
//注意控制循环条件,先获得月份的第一天,再获得中间测试天
//返回指定或默认的年月的第一天所在的月份值
$monthOrig=date('m',mktime(0,0,0,$selectedMonth,1,$selectedYear));
//返回$lastday所在的年月的月份值
$monthTest=date('m',mktime(0,0,0,$selectedMonth,$lastday,$selectedYear));
//循环执行直至第一天所在的月份值=最后一天所在的月份值,$lastday就是这个月所包含的天数
if($monthTest!=$monthOrig)
{
$lastday-=1;
}
}while ($monthTest!=$monthOrig);
//define the month Name
//例:echo date('Y-F-jS');输出为2007-February-6th
$monthName=date('F',mktime(0,0,0,$selectedMonth,1,$selectedYear));
//if语句判断环境变量中是否定义了$debugging_set常量
if($DEBUGGIN_SET)
{
print("<p>1st day of the 1st week of $selectedMonth $selectedYear is $firstday/n<p>");
print("The last day of $selectedMonth $selectedYear is $lastday/n<p>");
}
//定义星期的显示方式
$days[0]='Sun';
$days[1]='Mon';
$days[2]='Tue';
$days[3]='Wed';
$days[4]='Thu';
$days[5]='Fri';
$days[6]='Sat';
//标识天数在表格中应该显示的位置
$dayRow=0;
//生成表头,显示出指定的年份和月份
print("<table bgcolor=/"#FFFFFF/">");
print("<caption valign=/"center/"><b>$monthName $selectedYear</b></caption>>");
//打印列名
print("<tr>/n");
for($i=0;$i<7;$i++)
{
print("<td width=10%>$days[$i]</td>/n");
}
print("</tr>/n");
print("<tr>/n");
//标识第1天在表格中应该显示的位置
while($dayRow<$firstday)
{
print("<td><!--This day in the last month--></td>");
$dayRow++;
}
//变量$day用以存储应显示的天数,初始值为0。
$day=0;
//为每个日期添加链接,设置超链接
if($frametarget)
{
$targetString='target' . $frametarget;
}
else
{
$targetString='Welcome.htm';
}
while($day<$lastday)
{
//判断变量$dayRow可否被整除
if(($dayRow%7)==0)
{
print("</tr>/n<tr>/n");
}
$day++;
print("<td><a href=$targetString>$day</a></td>");
$dayRow++;
}
print("/n</tr>/n</table>/n");
?>
<br>
<form method="get" action="BigDate.php">
<div align="center">
<?
if($selectedMonth==12)
{
?>
<a href="BigDate.php?selectedMonth=11&selectedYear=<?print($selectedYear);?>">前一个月</a>
<a href="BigDate.php?selectedMonth=1&selectedYear=<?$selectedYear++;print($selectedYear);?>">后一个月</a>
<?
}
else
{
if($selectedMonth==1)
{
?>
<a href="BigDate.php?selectedMonth=12&selectedYear=<?$selectedYear--;print($selectedYear);?>">前一个月</a>
<a href="BigDate.php?selectedMonth=2&selectedYear=<?$selectedYear++;print($selectedYear);?>">后一个月</a>
<?
}
else
{
?>
<a href="BigDate.php?selectedMonth=<?$selectedMonth--;print($selectedMonth);?>&selectedYear=<?print($selectedYear);?>">前一个月</a>
<a href="BigDate.php?selectedMonth=<?$selectedMonth+=1;print($selectedMonth);?>$selectedYear=<?print($selectedYear);?>">后一个月</a>
<?
}
}
?>
<br><br>
年<input type="text" name="selectedYear" size="6">
月<input type="text" name="selectedMonth" size="3">
<input type="submit" name="submit" value="查询">
</div>
</form>
</br>