程序员人生 网站导航

用php编写的日历

栏目:php教程时间:2013-11-12 17:28:55

网上有很多JavaScript编写的日历,这种日历读取的是本地的时间,可能会不准确。所以想找一个用php编写的,能读取服务器时间的日历,但是一直都找不到合适的,于是我自己尝试着写了一个,代码如下:

  1. <?php  
  2. $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"); 
  3. $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"); 
  4. $mtime=mktime(0,0,0,$mnow,date("d"),$ynow); 
  5. $f=date("w",mktime(0,0,0,$mnow,1,$ynow))-1; 
  6. echo "<table id="calendar" border="0" cellpadding="2" cellspacing="1">"
  7. 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)."">&lt;</a>".$ynow."<a href="?".($mnow!=date("m")?"month=".intval($mnow)."&":"")."year=".(intval($ynow)==2037?"2037":intval($ynow)+1)."">&gt;</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):"")."">&lt;</a>".date("M",$mtime)."<a href="?month=".(intval($mnow)==12?"1":intval($mnow)+1).($ynow!=date("Y")?"&year=".intval($ynow):"")."">&gt;</a></td></tr>"
  8. 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>"
  9. for($i=0;$i<date("t",$mtime)+$f+1;$i++){ 
  10. if($i%7==0)echo "<tr>"
  11. echo "<td".(($i-$f==intval(date("d")) && $mnow==date("m") && $ynow==date("Y"))?" id="calendartoday"":"").(($i%7==0 || $i%7==6)?" class="calendarw"":"").">"
  12. if($i>$f)echo $i-$f
  13. echo "</td>"
  14. if($i%7==6)echo "</tr>"
  15. if($i%7<6 && $i%7>0)echo "<td colspan="".(7-$i%7).""></td></tr>"
  16. if($i%7==6)echo "<td></td></tr>"
  17. echo "</table>"
  18. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐