<?php
$selectedday = date( 'd');
$selectedmonth = date( 'm');
$selectedyear = date( 'y');
//获取当月第一天是数值型星期几
$firstday = date( 'w',mktime(0,0,0,$selectedmonth,1,$selectedyear));
//找出本月最后一天
$lastday = 31;
do {
$monthorig = date( 'm',mktime(0,0,0,$selectedmonth,1,$selectedyear));
$monthtest = date( 'm',mktime(0,0,0,$selectedmonth,$lastday,$selectedyear));
if ($monthtest != $monthorig) { $lastday -= 1; }
} while ($monthtest != $monthorig);
//获取当月对应的英文名
$monthname = date( 'f',mktime(0,0,0,$selectedmonth,1,$selectedyear));
//显示日历表头
$days = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
$dayrow = 0;
print( "<table bgcolor=/"#bbffff/">");
print( "<caption valign=/"center/"><b>$monthname $selectedyear</b></caption>");
print( "<tr>/n");
for($i=0; $i<=6; $i++) {
print( "<td width=10%>$days[$i]</td>/n");
}
print( "</tr>/n");
print( "<tr>/n");
//空出当月第一天前面的空位
while($dayrow < $firstday) {
print( "<td><!-- this day in last month --></td>");
$dayrow += 1;
}
$day = 0;
while($day < $lastday) {
//下面的判断语句用于每显示7个时间位置转换到下一行
if(($dayrow % 7) == 0) {
print( "</tr>/n<tr>/n");
}
$adjusted_day = $day+1;
//当天的日期用红色显示
if($adjusted_day==$selectedday){
echo "<td><font color=#ff0000>$adjusted_day</font></td>";
}
else{echo "<td>$adjusted_day</td>";}
$day += 1;
$dayrow += 1;
}
print( "/n</tr>/n</table>");
?>