Sian 发表于 2016-1-4 11:18:05

利用PHP的date函数制作日历



<?php
        // 获取年月日并转换成时间
        $year = $_GET["year"];
        $month = $_GET["month"];
        $day = $_GET["day"];
        $year = isset($year) ? $year : date("Y");
        $month = isset($month) ? $month : date("m");
        $day = isset($day) ? $day : date("d");
        $date = mktime(0,0,0,$month,1,$year);
        $dateStr = $year."年".$month."月".$day."日";

        // 打印表头及星期
        echo "<table width='500' border='1' align = 'center'>";
        echo "<caption><h1>{$dateStr}</h1></caption>";
        echo "<tr align = 'center'>";
        echo "<td>星期日</td><td>星期一</td><td>星期二</td><td>星期三</td><td>星期四</td><td>星期五</td><td>星期六</td>";
        echo "</tr>";
       
        // 计算某年某月有多少天
        $days = date("t", $date);
        // 计算某年某月的第一天本周的第几天,返回数字从星期天开始
        // 传入的日期必须是1号
        $emp = date("w", $date);
       
        // 打印当月前面的空格
        echo "<tr align = 'center'>";
        for($i = 0; $i < $emp; $i++){
                echo "<td></td>";
        }
       
        // 打印当月的所有天数,利用$i来计算周期换行
        for($j = 1; $j <= $days; $j++){
                echo "<td>$j</td>";
                $i++;
                if($i % 7 == 0) echo "</tr><tr align = 'center'>";
        }
        // 补全最后一周的空白天数
        while($i % 7 != 0){
                echo "<td></td>";
                $i++;
        }
       
        echo "</tr></table>";
页: [1]
查看完整版本: 利用PHP的date函数制作日历