日期:2014-04-02 浏览次数:20473 次
网上有很多JavaScript编写的日历,这种日历读取的是本地的时间,可能会不准确。所以想找一个用php编写的,能读取服务器时间的日历,但是一直都找不到合适的,于是我自己尝试着写了一个。
代码<?php $mnow=(isset($HTTP_GET_VARS['month']) && intval($HTTP_GET_VARS['month'])>0 && intval($HTTP_GET_VARS['month'])<13)?intval($HTTP_GET_VARS['month']):date("m");$ynow=(isset($HTTP_GET_VARS['year']) && intval($HTTP_GET_VARS['year'])>1969 && intval($HTTP_GET_VARS['year'])<2038)?intval($HTTP_GET_VARS['year']):date("Y");$mtime=mktime(0,0,0,$mnow,date("d"),$ynow);$f=date("w",mktime(0,0,0,$mnow,1,$ynow))-1;echo "<table id=\"calendar\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\">";echo "<tr><td colspan=\"4\" align=\"center\" class=\"calendartitle\"><a href=\"?".($mnow!=date("m")?"month=".intval($mnow)."&":"")."year=".(intval($ynow)==1970?"1970":intval($ynow)-1)."\"><</a>".$ynow."<a href=\"?".($mnow!=date("m")?"month=".intval($mnow)."&":"")."year=".(intval($ynow)==2037?"2037":intval($ynow)+1)."\">></a></td><td colspan=\"3\" align=\"center\" class=\"calendartitle\"><a href=\"?month=".(intval($mnow)==1?"12":intval($mnow)-1).($ynow!=date("Y")?"&year=".intval($ynow):"")."\"><</a>".date("M",$mtime)."<a href=\"?month=".(intval($mnow)==12?"1":intval($mnow)+1).($ynow!=date("Y")?"&year=".intval($ynow):"")."\">></a></td></tr>";echo "<tr><td class=\"calendartop\">S</td><td class=\"calendartop\">M</td><td class=\"calendartop\">T</td><td class=\"calendartop\">W</td><td class=\"calendartop\">T</td><td class=\"calendartop\">F</td><td class=\"calendartop\">S</td></tr>";for($i=0;$i<date("t",$mtime)+$f+1;$i++){if($i%7==0)echo "<tr>";echo "<td".(($i-$f==intval(date("d")) && $mnow==date("m") && $ynow==date("Y"))?" id=\"calendartoday\"":"").(($i%7==0 || $i%7==6)?" class=\"calendarw\"":"").">";if($i>$f)echo $i-$f;echo "</td>";if($i%7==6)echo "</tr>";}if($i%7<6 && $i%7>0)echo "<td colspan=\"".(7-$i%7)."\"></td></tr>";if($i%7==6)echo "<td></td></tr>";echo "</table>";?>