php 简单日历类的简单示例

前端之家收集整理的这篇文章主要介绍了php 简单日历类的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 *  简单日历类
 *
 * @param 
 * @author 编程之家 jb51.cc jb51.cc
 **/
class calendar{
 private $year;
 private $month;
 private $day_week;
 function __construct(){
  $this->year=isset($_GET['year']) ? $_GET['year'] : date("Y");
  $this->month=isset($_GET['month']) ? $_GET['month'] : date("m");
  $this->day_week=date("w",mktime(0,$this->month,1,$this->year));
 }
 
 private function xianDate(){
  echo "<tr>";
  echo "<td><a href='".$this->nextyear($this->year,$this->month)."'>"."<<<"."</a></td>";
  echo "<td><a href='".$this->nextmonth($this->month,$this->year)."'>"."<<"."</td>";
  echo "<td colspan='3'>".$this->year."年".$this->month."月</td>";
  echo "<td><a href='".$this->aftermonth($this->month,$this->year)."'>".">>"."</td>";
  echo "<td><a href='".$this->afteryear($this->year,$this->month)."'>".">>>"."</a></td>";
  echo "</tr>";
 }

 private function weeks(){
  $weeks=array("日","一","二","三","四","五","六");
  echo "<tr>";
  foreach($weeks as $value){
   echo "<th>".$value."</th>";
  }
  echo "</tr>";
 }
 private function days(){
  echo "<tr>";
  for($i=0; $i<$this->day_week; $i++){
   echo "<td>&nbsp;</td>";
  }
  for($j=1; $j <= date("t",$this->year)); $j++){
   $i++;
   if($j == date("d")){
    echo "<td class='fontb'>".$j."</td>";
   }else{
    echo "<td>".$j."</td>";
   }
   if($i%7 == 0){
    echo "</tr>";
   }
  }
  while($i%7 != 0){
   echo "<td>&nbsp;</td>";
   $i++;
  }
 }
 private function nextyear($year,$month){
  if($year == 1970){
   $year=1970;
  }else{
   $year--;
  }
  return "?year=".$year."&month=".$month;
 }
 private function afteryear($year,$month){
  if($year == 2038){
   $year=2038;
  }else{
   $year++;
  }
  return "?year=".$year."&month=".$month;
 }
 private function nextmonth($month,$year){
  if($month == 1){
   $year--;
   $month=12;
  }else{
   $month--;
  }
  return "?year=".$year."&month=".$month;
 }
 private function aftermonth($month,$year){
  if($month == 12){
   $year++;
   $month=1;
  }else{
   $month++;
  }
  return "?year=".$year."&month=".$month;
 }

 public function out(){
  echo "<table align='center'>";
  $this->xianDate();
  $this->weeks();
  $this->days();
  echo "</table>";
 }
} 

猜你在找的PHP相关文章