本期本博主將講述兩種利用PHP製做日曆的方法,因爲PHP日期函數的便捷性,使得咱們製做日曆這一過程變得至關簡單前端
問題描述:函數
一、取到當前日期,並着色顯示;
二、根據當前日期,判斷本月有多少天,一號是周幾;
三、完成本月日曆顯示spa
方法一,自動取到當前日期,代碼以下3d
date_default_timezone_set("PRC"); $time = getdate(); $mday = $time["mday"]; $mon = $time["mon"]; $year = $time["year"]; if($mon==4||$mon==6||$mon==9||$mon==11){ $day = 30; }elseif($mon==2){ if(($year%4==0&&$year%100!=0)||$year%400==0){ $day = 29; }else{ $day = 28; } }else{ $day = 31; } $w = getdate(mktime(0,0,0,$mon,1,$year))["wday"]; $date = function($day,$w){ echo "<table border='1'>"; echo "<tr><th>星期日</th><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th><th>星期六</th></tr>"; $arr = array(); for($i=1;$i<=$day;$i++){ array_push($arr,$i); } if($w>=1&&$w<=6){ for($m=1;$m<=$w;$m++){ array_unshift($arr,""); } } $n=0; for($j=1;$j<=count($arr);$j++){ $n++; if($n==1) echo "<tr>"; global $mday; if($mday==$arr[$j-1]){ echo "<td width='80px' style='background-color: greenyellow;'>".$arr[$j-1]."</td>"; }else{ echo "<td width='80px'>".$arr[$j-1]."</td>"; } if($n==7){ echo "</tr>"; $n=0; } } if($n!=7)echo "</tr>"; echo "</table>"; }; $date($day,$w);
運行結果以下code
方法二,指定當前日期,代碼以下blog
//此處爲時間輸入 echo " 當前時間戳爲:"; echo $today=mktime(9,34,56,06,02,2017); echo "</br>"; echo "</br>"; $r=date("L",$today);//潤平年 $w=date("N",$today);//星期 $m=date("n",$today);//月份 $d=date("j",$today); if($m==1||$m==3||$m==5||$m==7||$m==8||$m==10||$m==12){ $days=31; }elseif($m==4||$m==6||$m==9||$m==11){ $days=30; }elseif($m==2){ if($r==1){ $days=29; }else{ $days=28; } }else{ echo "日期有誤!!!"; } $day=1; $week=0; $count=($days+$w)/7; echo "<table border='1' width='500'>"; echo <<<th <tr style="background-color:#ccc;"> <th style="color:red;">星期天</th> <th>星期一</th> <th>星期二</th> <th>星期三</th> <th>星期四</th> <th>星期五</th> <th style="color:green;">星期六</th> </tr> th; for($i=0;$i<=$count;$i++){ echo "<tr>"; for($j=0;$j<7;$j++){ if(($week<$w)||($day>$days)){ echo "<td></td>"; $week++; }else{ if($day==$d){ echo "<td bgcolor='green';>{$day}</td>"; $day++; }else{ echo "<td>{$day}</td>"; $day++; } } } if($day>$days){ break; } echo "</tr>"; } echo "</table>"; echo "</br>"; echo " 當前時間爲:"; echo date("Y-m-d H:i:s 星期N a",$today);
運行結果以下圖get
效果完美,然後在前二者的基礎上稍加改進就能夠獲得萬年曆,PHP功能就是如此強大io
代碼實現感謝@浩神@Q的前端世界兩位大神table
未經容許不得轉發!!!function