<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>月历-MonthlyCalendar.php</title>
<style type="text/css">
table{
margin: 20px auto;
width:500px;
border:0px;
}
th,td{
width:50px;
height:40px;
text-align:center;
}
.aa{background:#ccc;
color:red;
border:1px solid #f00;
}
</style>
</head>
<body>
<br>
<?php
$h=date_default_timezone_set("PRC");
header("Content-Type:text/html;charset=UTF-8");
$year=date('Y');
$month=date('n');
$firstDay=strtotime("$year-$month-1");
$w=date('w',$firstDay);
switch ($month){
case 2:$days=($year%400==0)||($year%4&&$year%100!=0)?29:28;
break;
case 4:
case 6:
case 9:
case 11:
$days=30;
break;
default:
$days=31;
break;
}
echo '<table>';
echo "<caption>下面是$year 年$month 月的月历</caption>";
echo '<tr>';
echo '<th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>';
echo '<tr>';
// 此行开始输出日期值,输出之前先要根据当前月份的第一天的星期值来判断输出几个空白的单元格
for ($i=0;$i<$w;$i++){
echo '<td></td>';
// 输出开始的空单元格
}
for ($i=1;$i<=$days;$i++){
if (($i+$w-1)%7==0){
echo '</tr><tr>';
}
if ($i==date('j'))
{
echo "<td class=aa >$i"."</td>";
}
else {echo "<td>$i"."</td>";
}
}
echo '</table>';
?>
</body>
</html>