Home  >  Article  >  Backend Development  >  PHP自动生成月历代码

PHP自动生成月历代码

WBOY
WBOYOriginal
2016-06-20 13:02:091139browse

PHP自动生成月历代码

/* 
  Function Written by Nelson Neoh @3/2004. 
  For those who wants to utilize this code, please do not remove this remark. 
  If you have done any enhancement to this code, please post the copy at http://www.dev-club.com PHP board. Thank you.

  Function usage: calendar(Month,Year)
  */
  function calendar($MM,$YYYY){
  if($MM=="") $MM = date("m");
  if($YYYY=="") $YYYY = date("Y");
  if(checkdate($MM,1,$YYYY)){
  $stringDate = strftime("%d %b %Y",mktime (0,0,0,$MM,1,$YYYY));
  $days = strftime("%d",mktime (0,0,0,$MM+1,0,$YYYY));
  $firstDay = strftime("%w",mktime (0,0,0,$MM,1,$YYYY));
  $lastDay = strftime("%w",mktime (0,0,0,$MM,$days,$YYYY));
  $printDays = $days;
  $preMonth = strftime("%m",mktime (0,0,0,$MM-1,1,$YYYY));
  $preYear = strftime("%Y",mktime (0,0,0,$MM-1,1,$YYYY));
  $nextMonth = strftime("%m",mktime (0,0,0,$MM+1,1,$YYYY));
  $nextYear = strftime("%Y",mktime (0,0,0,$MM+1,1,$YYYY));
  print("<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">");
  print("<tr><th valign=\"top\"><a href=\"".$_SERVER[&#39;PHP_SELF&#39;]."?NB=".$_GET["NB"]."&MM=".$preMonth."&YY=".$preYear."\">P</a></th>");
  print("<th colspan=\"5\" valign=\"top\">".strftime("%b %Y",mktime (0,0,0,$MM,1,$YYYY))."</th>");
  print("<th valign=\"top\"><a href=\"".$_SERVER[&#39;PHP_SELF&#39;]."?NB=".$_GET["NB"]."&MM=".$nextMonth."&YY=".$nextYear."\">N</a></th></tr>");
  print("<tr style=\"font-family: Verdana; font-size:x-small\">");
  print("<th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>");
  $currentDays = 1;
  for($a=1;$a<=5;$a++){
  print("<tr align=\"left\" valign=\"top\" style=\"font-family: Verdana; font-size:x-small\">");
  $diffDays = $firstDay-$lastDay;
  if($firstDay>$lastDay && $currentDays ==1 && ($diffDays<>1)){
  for($x=$lastDay;$x>=0;$x--){
  $printDays = $days-$x;
  print("<td>$printDays</td>");
  }
  for($z=1;$z<$firstDay-$lastDay;$z++){
  print("<td> </td>");
  }
  for($y=$firstDay;$y<7;$y++){
  print("<td>$currentDays</td>");
  $currentDays++;
  }
  } elseif($firstDay!=0 && $currentDays==1){
  for($z=1;$z<=$firstDay;$z++){
  print("<td> </td>");
  }
  for($y=$firstDay;$y<7;$y++){
  print("<td>$currentDays</td>");
  $currentDays++;
  }
  } else {
  for($u=1;$u<=7 && $currentDays<=$days;$u++){
  print("<td>$currentDays</td>");
  $currentDays++;
  }
  }
  print("</tr>");
  }
  print("</table>");
  }
  }

 


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn