PHP经典实例教程(万年历)
<?php
//***************万年历的实现********************//
//实现步骤
//1、获取当前日期信息年和月(默认为当前的年和月)
$year=$_GET["y"]?$_GET["y"]:date("Y");
$mon=$_GET["m"]?$_GET["m"]:date("m");
//2、计算出当前月有多少天,和本月1号是星期几
$day=date("t",mktime(0,0,0,$mon,1,$year));//获取的是当前月有多少天
$w=date("w",mktime(0,0,0,$mon,1,$year));//获取的是本月1号是星期几
//3、输出日期的头部信息(标题和表头)
echo "<center>";
echo "<h1>{$year}年{$mon}日</h1>";
echo "<table width='600px' border='1px'>";
echo "<tr>";
echo "<th style='color:red;'>星期日</th>";
echo "<th>星期一</th>";
echo "<th>星期二</th>";
echo "<th>星期三</th>";
echo "<th>星期四</th>";
echo "<th>星期五</th>";
echo "<th style='color:green'>星期六</th>";
echo "</tr>";
//4、循环遍历输出日期信息
$dd=1;
while($dd<=$day){
echo "<tr>";
for($i=0;$i<7;$i++){
if(($w>$i&&$dd==1)||$dd>$day){
echo "<td> </td>";
}
else{
echo "<td>{$dd}</td>";
$dd++;
}
//if($dd<=$day&&($w<=$i||$dd!=1)){
// echo "<td>{$dd}</td>";
// $dd++;
//}
//else{
// echo "<td> </td>";
//}
}
echo "</tr>";
}
echo "</table>";
//5、输出上一月和下一月的链接
$prey=$nexty=$year;
$prem=$nextm=$mon;
if($prem<=1){
$prem=12;
$prey--;
}else{
$prem--;
}
if($nextm>=12){
$nextm=1;
$nexty++;
}else{
$nextm++;
}
echo "<h2><a href='one.php?y={$prey}&m={$prem}'>上一月</a></h2>";
echo "<h2><a href='one.php?y={$nexty}&m={$nextm}'>下一月</a></h2>";
echo "</center>";
?>