PHP实现的简单日历类
本文实例讲述了PHP实现的简单日历类。分享给大家供大家参考。
具体实现代码如下:
date_default_timezone_set("etc/gmt-8");
header("Content-type:text/html;charset=utf-8");
classcalendar{
var$t=array();
var$datesofmonth=array('1'=>'31','2'=>'28','3'=>'31','4'=>'30','5'=>'31','6'=>'30','7'=>'31','8'=>'31','9'=>'30','10'=>'31','11'=>'30','12'=>'31');
var$y,$m,$d;
functionset($time){
$this->t=getdate($time);
$this->y=$this->t['year'];
$this->m=$this->t['mon'];
$this->d=date('d',$time);
}
functionisrun(){
return($this->y%400==0||($this->y%4==0&&$this->y%100==0))?1:0;
}
functionfirst(){
$time=mktime(0,0,0,$this->m,1,$this->y);
$time=getdate($time);
return$time['wday'];
}
functionhtml(){
$isrun=$this->isrun();
$this->datesofmonth[2]=$isrun==1?29:28;
$html.="<tablestyle='border:solid1pxblack;'>n";
$html.="<tr><th><ahref=''>上一月</a></th><thcolspan='5'>{$this->y}年{$this->m}月</th><th><ahref=''>下一月</a></th><tr>n";
$html.="<tr><td>星期天</td><td>星期一</td><td>星期二</td>jb51.net<td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td></tr>n";
$html.="<tr>n";
$first=$this->first();
for($i=0;$i<$first;$i++){
$html.="<td></td>";
}
$count=$this->datesofmonth[$this->m]+$first;
for($i=1;$i<=$this->datesofmonth[$this->m];$i++){
$style=$i==$this->d?'style="color:red;font-weight:bold;"':'';
$html.="<tdalign='center'{$style}>$i</td>";
if(($i==7%$first||($i+$first)%7==0)&&$i<$count){
$html.="</tr>n<tr>";
}
}
$count=7-$count%7;
if($count<7){
for($i=0;$i<$count;$i++){
$html.="<td></td>";
}
}
$html.="</tr>n";
$html.="</table>n";
return$html;
}
}
$calendar=newcalendar();
$calendar->set(time());
echo$calendar->html();
希望本文所述对大家的php程序设计有所帮助。