$dayofweek の役割: 各月の 1 日が何曜日であるかを知ることによってのみ、日数を出力する前にいくつのスペース (空白) を出力する必要があるかを知ることができます
/**
* PHP 万年カレンダー
* @author フライ 2012/10/16
*/
クラスカレンダー{
Protected $_table;//table テーブル
Protected $_currentDate;//現在の日付
$_年を保護 //年
$_month を保護します
Protected $_days; // 指定された月の日数
protected $_dayofweek;// 指定された月の 1 日は何曜日ですか
/**
* コンストラクター
*/
パブリック関数 __construct()
{
$this->_table="";
$this->_year = isset($_GET["y"])?$_GET["y"]:date("Y");
$this->_month = isset($_GET["m"])?$_GET["m"]:date("m");
If ($this->_month>12){// 月が 12 より大きい状況を処理します
$this->_month=1;
$this->_year++;
}
If ($this->_month
$this->_month=12;
$this->_year--;
}
$this->_currentDate = $this->_year.'year'.$this->_month.'month';//現在取得している日付情報
$this->_days = date("t",mktime(0,0,0,$this->_month,1,$this->_year));//指定された月の日数を取得します
$this->_dayofweek = date("w",mktime(0,0,0,$this->_month,1,$this->_year));//指定された月の 1 日を取得します。今週
}
/**
* タイトルとヘッダー情報を出力します
*/
保護された関数 _showTitle()
{
$this->_table="
".$this->_currentDate."
";
$this->_table.="";
$this->_table .="日曜日 | ";
$this->_table .="月曜日 | ";
$this->_table .="火曜日 | ";
$this->_table .="水曜日 | ";
$this->_table .="木曜日 | ";
$this->_table .="金曜日 | ";
$this->_table .="土曜日 | ";
$this->_table.="
";
}
/**
* 日付情報を出力します
* * 現在の日付に基づいて日付情報を出力します
*/
保護された関数 _showDate()
{
$nums=$this->_dayofweek+1;
for ($i=1;$i<=$this->_dayofweek;$i++){//1 日の前の空白の日付を出力します
$this->_table.="  | ";
}
for ($i=1;$i<=$this->_days;$i++){// 日数情報を出力します
if ($nums%7==0){//改行処理: 1 行あたり 7 件
}その他{
$this->_table.="$i | ";
}
$nums++;
}
$this->_table.="
";
$this->_table.="
前月
$this->_table.=" 次へ1 月
";
}
/**
* カレンダーをエクスポート
*/
パブリック関数 showCalendar()
{
$this->_showTitle();
$this->_showDate();
echo $this->_table;
}
}
$calc=新しいカレンダー();
$calc->showCalendar();