- $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="
- <!--
- a{TEXT-DECORATION:none;color:#000;} tr,td{border='1' bordercolor='#fff'}
- -->
- <table style="border-collapse: collapse; height: 250px;" border="1" width="300" align="center" bordercolor="#46a3ff">";
- $tabstr.="
- <tbody>
- <tr>
- <td><a href="?mon=".($monthnow-1)."&year=".$yearnow.""><<<</a></td>
- <td colspan="5" align="center">"; $tabstr.=$yearnow.'年 '.$monthnow.'月 '.date('d',time())."日 </td>
- <td>"; $tabstr.="<a href="?mon=".($monthnow+1)."&year=".$yearnow."">>>></a></td>
- </tr>
- ";
- $tabstr.="
- <tr>
- <td align="center">日</td>
- <td align="center">一</td>
- <td align="center">二</td>
- <td align="center">三</td>
- <td align="center">四</td>
- <td align="center">五</td>
- <td align="center">六</td>
- </tr>
- ";
- for($i=0;$i<$trnum;$i++) {
- $tabstr.="
- <tr>";
- //每行七个单元格
- for($k=0;$k<7;$k++) {
- //取得单元格自身序号
- $tabidx=$i*7+$k;
- //若单元格序号小于当月第一天的星期数($wk1st)或大于(月总数+$wk1st),只填写空格,反之,写入日期
- ($tabidx<$wk1st or $tabidx>$mdays+$wk1st-1) ? $dayecho=" " : $dayecho=$tabidx-$wk1st+1;
- //突出标明今日日期
- if($dayecho!=' '){
- $num=$dayecho;
- if($dayecho==$datenow) $dayecho="<span style="background-color: #185096; color: #fff;"><strong>".$dayecho."</strong></span>";
- $tabstr.='
- <td align="center"><a href="#&m="></a></td>
- ";
- }else{
- $tabstr.='
- <td align="center">'.$dayecho."</td>
- ";
- }
- }
- $tabstr.="</tr>
- ";
- }
- $tabstr.="</tbody>
- </table>
- ";
- print $tabstr; //输出日历
- //该片段来自于http://www.codesnippet.cn/detail/190420132913.html
来源: http://www.codesnippet.cn/detail/190420132913.html