$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( "
");
print( "$monthName $selectedYear");
print( "\n");
for($i=0; $i<=6; $i++) {
print( "$days[$i] | \n");
}
print( "
\n");
print( "\n");
//空出当月第一天前面的空位
while($dayRow < $firstday) {
print( " | ");
$dayRow += 1;
}
$day = 0;
while($day < $lastday) {
//下面的判断语句用于每显示7个时间位置转换到下一行
if(($dayRow % 7) == 0) {
print( "
\n\n");
}
$adjusted_day = $day+1;
//当天的日期用红色显示
if($adjusted_day==$selectedDay){
echo "$adjusted_day | ";
}
else{echo "$adjusted_day | ";}
$day += 1;
$dayRow += 1;
}
print( "\n
\n
");
?>