顯示年曆

之前有發一篇 顯示月曆 ,這次就來篇 顯示年曆;方法大同小異。

<?php

	$year=2016;
	$mtxt=array(1=>'一',2=>'二',3=>'三',4=>'四',5=>'五',6=>'六',7=>'七',8=>'八',9=>'九',10=>'十',11=>'十一',12=>'十二',);
	
	for($m=1;$m<=12;$m++){
		echo '<div style="width:240px;float: left;">';
	
		$YM = $year.'-'.$m;
		$day=getthemonth($YM);
			 
		echo '<b>'.$YM.'</b>';
		echo '<br/>';
		echo '這個月有幾 '.$dayCount = date("t",strtotime($day[0])).' 天';
		echo '<br/>';
		echo '這個月的第一天是禮拜 '.$weekday  = date('w', strtotime($day[0]));
		echo '<br/>';
		echo '這個月的最後一天是禮拜 '.date('w', strtotime($day[1]));
		echo '<br/>';
		echo $d_first=date("j",strtotime($day[0])).' - '.$d_last=date("j",strtotime($day[1]));
		$d_last=$dayCount+$weekday-1;//若第一天不是禮拜日 
		echo '<br/>';
		echo 'last:'.$d_last;
		$sday=1;
		
		echo $mtxt[$m].'月';
		echo '<table><tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr><tr>';
		for($i=1;$i<=42;$i++){
			echo '<td style="background-color:'.($i>$weekday && $i<=$d_last?'#f0f0f0':'#ffffff')
                 .';width:40px;height:40px;border:#ffffff 1px solid;">'.($i>$weekday && $i<=$d_last ?'['.$sday.']':'').'</td>'.($i%7==0?'</tr>':'');
			$sday=($i+1>$weekday?$sday+1:1);
		}
		echo '</table></div>';
		
	}

	function getthemonth($date)
    {
        $firstday = date('Y-m-01', strtotime($date));//取得該日期月份的第一天
        $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));//取得該日期月份的最後一天
        return array($firstday,$lastday);
    }
     
?>

Comments (1)

Leave a comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *