php实现简单的日历类

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

<?php
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, 0, 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", mktime(0, 0, 0, $this->month, 1, $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>";
	}
}

?>