[PHP]代码
$monthnow=isset($_GET['mon'])?$_GET['mon']:date("n");
$yearnow=isset($_GET['year'])?$_GET['year']:date("Y");
if($monthnow==13){
$monthnow=1;
$yearnow=$yearnow+1;
}
if($monthnow==0){
$monthnow=12;
$yearnow=$yearnow-1;
}
$mdays=date("t"); //当月总天数
$datenow=date("j"); //当日日期
//计算当月第一天是星期几
$wk1st=date("w",mktime(0,0,0,$monthnow,1,$yearnow));
$trnum=ceil(($mdays+$wk1st)/7); //计算表格行数
//表格字串
$tabstr="
";
$tabstr.="
| zuojiankuohaophpcnzuojiankuohaophpcnzuojiankuohaophpcn |
"; $tabstr.=$yearnow.'年 '.$monthnow.'月 '.date('d',time())."日 |
"; $tabstr.="youjiankuohaophpcnyoujiankuohaophpcnyoujiankuohaophpcn |
";
$tabstr.="
| 日 |
一 |
二 |
三 |
四 |
五 |
六 |
";
for($i=0;$izuojiankuohaophpcn$trnum;$i++) {
$tabstr.="
";
//每行七个单元格
for($k=0;$kzuojiankuohaophpcn7;$k++) {
//取得单元格自身序号
$tabidx=$i*7+$k;
//若单元格序号小于当月第一天的星期数($wk1st)或大于(月总数+$wk1st),只填写空格,反之,写入日期
($tabidxzuojiankuohaophpcn$wk1st or $tabidxyoujiankuohaophpcn$mdays+$wk1st-1) ? $dayecho=" " : $dayecho=$tabidx-$wk1st+1;
//突出标明今日日期
if($dayecho!=' '){
$num=$dayecho;
if($dayecho==$datenow) $dayecho="".$dayecho."";
$tabstr.='
|
";
}else{
$tabstr.='
'.$dayecho." |
";
}
}
$tabstr.="
";
}
$tabstr.="
";
print $tabstr; //输出日历