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>";
 }
} 

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...