calendar.class.php
代码如下:
function __construct(){
$this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");
$this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");
$this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));
$this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));
}
function out(){
echo '';
$this->chageDate("test.php");
$this->weeksList();
$this->daysList();
echo '';
}
private function weeksList(){
$week=array('日','一','二','三','四','五','六');
echo '
';
for($i=0; $iecho ''.$week[$i].'';
echo '';
}
private function daysList(){
echo '
';
//输出空格(当前一月第一天前面要空出来)
for($j=0; $jstart_weekday; $j++)
echo '';
for($k=1; $k<=$this->days; $k++){
$j++;
if($k==date('d'))
echo ''.$k.'';
else
echo ''.$k.'';
if($j%7==0)
echo '
';
}
//后面几个空格
while($j%7!==0){
echo '';
$j++;
}
echo '';
}
private function prevYear($year, $month){
$year=$year-1;
if($year < 1970)
$year = 1970;
return "year={$year}&month={$month}";
}
private function prevMonth($year, $month){
if($month == 1) {
$year = $year -1;
if($year < 1970)
$year = 1970;
$month=12;
}else{
$month--;
}
return "year={$year}&month={$month}";
}
private function nextYear($year, $month){
$year = $year + 1;
if($year > 2038)
$year = 2038;
return "year={$year}&month={$month}";
}
private function nextMonth($year, $month){
if($month==12){
$year++;
if($year > 2100)
$year=2100;
$month=1;
}else{
$month++;
}
return "year={$year}&month={$month}";
}
private function chageDate($url=""){
echo '
';
echo 'prevYear($this->year, $this->month).'">'.'
echo 'prevMonth($this->year, $this->month).'">'.'';
echo '';
echo '';
echo '';
echo 'nextYear($this->year, $this->month).'">'.'>>'.'';
echo 'nextMonth($this->year, $this->month).'">'.'>'.'';
echo '';
}
}
?>
test.php
代码如下:
$calendar=new Calendar;
$calendar->out();
?>
/PHPjc/718612.true/PHPjc/718612.htmlTechArticlecalendar.class.php 代码如下:?php class Calendar { private $year; //当前的年 private $month; //当前的月 private $start_weekday; //当月的第一天对应的...
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网