本文執行個體講述了PHP實現的簡單日曆類。分享給大家供大家參考。
具體實現代碼如下:
代碼如下:
date_default_timezone_set("etc/gmt-8");
header("Content-type: text/html; charset=utf-8");
class calendar{
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;
function set($time){
$this->t = getdate($time);
$this->y = $this->t['year'];
$this->m = $this->t['mon'];
$this->d = date('d',$time);
}
function isrun(){
return ($this->y%400==0 || ($this->y%4==0 && $this->y%100==0)) ? 1 : 0;
}
function first(){
$time = mktime(0,0,0,$this->m,1,$this->y);
$time = getdate($time);
return $time['wday'];
}
function html(){
$isrun = $this->isrun();
$this->datesofmonth[2] = $isrun==1 ? 29: 28;
$html .= "
n"; $html .= "
上一月 |
{$this->y}年 {$this->m}月 |
下一月 |
n"; $html .= "
星期天 |
星期一 |
星期二 | bitsCN.com
星期三 |
星期四 |
星期五 |
星期六 |
n"; $html .= "
n"; $first = $this->first(); for($i=0; $i<$first; $i++){ $html .= "
| "; } $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 .= "
$i | "; if (($i==7%$first || ($i+$first)%7==0) && $i<$count){ $html .= "
n
"; } } $count = 7-$count%7; if ($count<7){ for ($i=0; $i<$count; $i++){ $html .= "
| "; } } $html .= "
n"; $html .= "
n";
return $html;
}
}
$calendar = new calendar();
$calendar->set(time());
echo $calendar->html();
希望本文所述對大家的php程式設計有所協助。