Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday");
var $monthNames=array("January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December");
var $daysInMonth = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
function setDayNames($names)
{
$this->dayNames=$names;
}
function getDayNames()
{
return $this->dayNames;
}
function setMonthNames($names)
{
$this->monthNames=$names;
}
function getMonthNames()
{
return $this->monthNames;
}
function setStartDay($day)
{
$this->startDay=$day;
}
//获取一个开始日期的函数
function getStartDay()
{
return $this->startDay;
}
function setStartMonth($month)
{
$this->startMonth=$month;
}
function getStartMonth()
{
return $this->startMonth;
}
function getCalendarLink($month,$year)
{
return "";
}
//声明一个获取日期链接的函数
function getDateLink($day,$month,$year)
{
$link="counter.php?day=$day&month=$month&year=$year&fromcounter=1";
return "$link";
}
//设置日期链接
function getCurrentMonthView()
{
$d=getdate(time());
return $this->getMonthView($d["mon"],$d["year"]);
}
//获取当前年份
function getCurrentYearView()
{
$d=getdate(time());
return $this->getYearView($d["year"]);
}
//声明一个获取指定年,月的函数
function getMonthView($month,$year)
{
return $this->getMonthHTML($month,$year);
}
//声明一个获取指定年的月份信息的函数
function getYearView($year)
{
return $this->getYearHTML($year);
}
//获取每月的天数
function getDaysInMonth($month,$year)
{
if($month<1 || $month>12)
{
return 0;
}
$d=$this->daysInMonth[$month-1];
if($month==2)
{
if($year%4==0)
{
if($year%100==0)
{
if($year%400==0)
{
$d=29;
}
}
else
{
$d=29;
}
}
}
return $d;
}
//声明一个获取月份的getMonthHTML函数
function getMonthHTML($m,$y,$showYear=1)
{
$s="";
$a=$this->adjustDate($m,$y);
$month=$a[0];
$year=$a[1];
$daysInMonth=$this->getDaysInMonth($month,$year);
$date=getdate(mktime(12,0,0,$month,1,$year));
$first=$date['wday'];
$monthName=$this->monthNames[$month-1];
$prev=$this->adjustDate($month-1,$year);
$next=$this->adjustDate($month+1,$year);
if($showYear==1)
{
$prevMonth=$this->getCalendarLink($prev[0],$prev[1]);
$nextMonth=$this->getCalendarLink($next[0],$next[1]);
}
else
{
$prevMonth="";
$nextMonth="";
}
$header=$monthName.(($showYear>0) ? " ".$year : "");
$s.="";
$s.="".(($prevMonth=="") ? " " : "zuojiankuohaophpcnzuojiankuohaophpcn")." ";
$s.="$header ";
$s.="".(($nextMonth=="") ? " " : "youjiankuohaophpcnyoujiankuohaophpcn")." ";
$s.="";
$s.="";
$s.="".$this->dayNames[($this->startDay)%7]." ";
$s.="".$this->dayNames[($this->startDay+1)%7]." ";
$s.="".$this->dayNames[($this->startDay+2)%7]." ";
$s.="".$this->dayNames[($this->startDay+3)%7]." ";
$s.="".$this->dayNames[($this->startDay+4)%7]." ";
$s.="".$this->dayNames[($this->startDay+5)%7]." ";
$s.="".$this->dayNames[($this->startDay+6)%7]." ";
$s.=" ";
/********************************有些不解*************************************************/
$d=$this->startDay+1-$first;
while($d>1)
{
$d-=7;
}
$today=getdate(time());
while($d<=$daysInMonth)
{
$s.="";
for($i=0;$i<7;$i++)
{
$class=($year==$today['year'] && $month==$today['mon'] &&
$d==$today['mday']) ? "calenderToday" : "calendar";
$s.="";
if($d>0 && $d<=$daysInMonth)
{
$link=$this->getDateLink($d,$month,$year);
$mtime=mktime();
$dnow=date("d",$mtime);
$mnow=date("m",$mtime);
if($dnow==$d && $mnow==$month)
{
$s.=(($link=="") ? $d : "
$d");
}
else
{
$s.=(($link=="") ? $d : "
$d");
}
}
else
{
$s.=" ";
}
$s.=" ";
$d++;
}
$s.=" ";
}
/***************************************************************************************/
$s.="
";
return $s;
}
//声明一个获取年份的HTML
function getYearHTML($year)
{
$s="";
$prev=$this->getCalendarLink(0,$year-1);
$next=$this->getCalendarLink(0,$year+1);
$s.="";
$s.="";
$s.="".(($prev=="") ? " " :
"zuojiankuohaophpcnzuojiankuohaophpcn")." ";
$s.="".(($this->startMonth>1) ?
$year."-".($year+1) : $year)." ";
$s.="".(($next=="") ? " " :
"youjiankuohaophpcnyoujiankuohaophpcn")." ";
$s.=" ";
$s.="";
$s.="".$this->getMonthHTML(0+$this->startMonth,$year,0)."
";
$s .= "" .
$this->getMonthHTML(1 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(2 + $this->startMonth, $year, 0) ." ";
$s .= " ";
$s .= "";
$s .= "" .
$this->getMonthHTML(3 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(4 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(5 + $this->startMonth, $year, 0) ." ";
$s .= " ";
$s .= "";
$s .= "" .
$this->getMonthHTML(6 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(7 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(8 + $this->startMonth, $year, 0) ." ";
$s .= " ";
$s .= "";
$s .= "" .
$this->getMonthHTML(9 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(10 + $this->startMonth, $year, 0) ." ";
$s .= "" .
$this->getMonthHTML(11 + $this->startMonth, $year, 0) ." ";
$s .= " ";
$s .= "
";
return $s;
}
//声明一个日期调整函数
function adjustDate($month,$year)
{
$a=array();
$a[0]=$month;
$a[1]=$year;
while($a[0]>12)
{
$a[0]-=12;
$a[1]++;
}
while($a[0]<=0)
{
$a[0]+=12;
$a[1]--;
}
return $a;
}
}
class MyCalendar extends Calendar
{
function getCalendarLink($month,$year)
{
$s=getenv('SCRIPT_NAME'); //相当于$_SERVER['SCRIPT_NAME']
return "$s?month=$month&year=$year";
}
}
?>
以上就是一个日期类的内容,更多相关内容请关注PHP中文网(www.php.cn)!










