年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2008|回复: 0

利用PHP的date函数制作日历

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2016-1-4 11:18:05 | 显示全部楼层 |阅读模式
    屏幕快照-2016-01-04-上午11.16.52.jpg


    [PHP] 纯文本查看 复制代码
    <?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>";

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-4-23 16:44 , Processed in 0.052751 second(s), 25 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表