PHP输出日历 PHP实现日历效果

 
Html代码  收藏代码
  1. <style type="text/css">  
  2.   
  3. #tc_calendar{width:250px;}  
  4. #tc_title{height:33px;line-height:33px;text-align:right;overflow:hidden;}  
  5. #tc_title strong{font-weight:bold;font-size:14px;}  
  6. #tc_calendar{border-collapse:collapse;}  
  7. #tc_calendar td{text-align:center;width:35px;height:20px;line-height:20px;border-bottom:1px solid #fff;border-right:1px solid #fff;}  
  8. #tc_calendar .even td{}  
  9. #tc_calendar td .current{display:block;color:#fff;}  
  10. #tc_calendar .current{color:#fff;}  
  11. #tc_week td{color:#fff;}  
  12.   
  13. </style>  
  14.   
  15. <?php  
  16. $mdays=date("t");    //当月总天数  
  17. $datedatenow=date("j");  //当日日期  
  18. $monthnow=date("n"); //当月月份  
  19. $yearnow=date("Y");  //当年年份  
  20. //计算当月第一天是星期几  
  21. $wk1st=date("w",mktime(0,0,0,$monthnow,1,$yearnow));  
  22. $trnum=ceil(($mdays+$wk1st)/7); //计算表格行数  
  23. //以下是表格字串  
  24. $tabstr="<table id=tc_calendar><tr id=tc_week><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>";  
  25.   
  26. for($i=0;$i<$trnum;$i++) {  
  27.    $tabstr.="<tr class=even>";  
  28.    for($k=0;$k<7;$k++) { //每行七个单元格  
  29.       $tabidx=$i*7+$k; //取得单元格自身序号  
  30.       //若单元格序号小于当月第一天的星期数($wk1st)或大于(月总数+$wk1st)  
  31.       //只填写空格,反之,写入日期  
  32.       ($tabidx<$wk1st or $tabidx>$mdays+$wk1st-1) ? $dayecho="&nbsp" : $dayecho=$tabidx-$wk1st+1;  
  33.       //突出标明今日日期  
  34.       // $dayecho="<span style=\"background-color:red;color:#fff;\">$dayecho</span>";  
  35.       if($dayecho==$datenow){$todaybg = " class=current";}  
  36.       else{$todaybg = "";}  
  37.       $tabstr.="<td".$todaybg.">$dayecho</td>";  
  38.    }  
  39.    $tabstr.="</tr>";  
  40. }  
  41. $tabstr.="</table>";  
  42. ?>  
  43.   
  44. <div id="tc_calendardiv"><div id="tc_title">{date("Y")}年<strong> {date("m")}月</strong></div>  
  45. <?php echo $tabstr;?>  
  46. </div>  
posted @ 2015-06-11 16:49  野生Monk3y  阅读(500)  评论(0编辑  收藏  举报