本期本博主将讲述两种利用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