日历小算法:

本文介绍了一个使用PHP编写的简单日历生成算法。该算法能够根据用户提供的年份和月份生成对应月份的日历表格,突出显示当前日期,并填充空白单元格以确保完整的星期周期。

日历小算法:

<?php

echo "<table align='center' border='1'>";

echo "<th style='background-color:green;'>日</th>";
echo "<th style='background-color:green;'>一</th>";
echo "<th style='background-color:green;'>二</th>";
echo "<th style='background-color:green;'>三</th>";
echo "<th style='background-color:green;'>四</th>";
echo "<th style='background-color:green;'>五</th>";
echo "<th style='background-color:green;'>六</th>";

$year = isset($_GET['year']) ? $_GET['year'] : date('Y');
$month = isset($_GET['month']) ? $_GET['month'] : date('m');
$day = isset($_GET['day']) ? $_GET['day'] : date('d');

$startWeek = date('w', mktime(0,0,0,$month,1,$year)); // 当月1号是星期中的第几天 param:hour minute second month day year
//w 星期中的第几天

echo "今天是$year 年-$month 月-$day 日 ";

$days = date('t', mktime(0,0,0,$month,1,$year)); // 当月有多少天

echo "<tr>";
for ($i=0; $i<$startWeek; $i++) {
echo "<td></td>"; //补几个空位
}


for ($j=1; $j<=$days; $j++) {
$i++;

if ($day == $j) {
echo "<td style='background-color:red;'>$j</td>";
} else {
echo "<td>$j</td>";
}
if ($i%7 == 0) {
echo "</tr><tr>"; //够7个换行
}

}

while($i%7 != 0) {
echo "<td></td>"; //最后补空格
$i++;
}

echo "<tr/>";
echo "</table>";

header('content-type:text/html;charset=utf-8');

 

转载于:https://www.cnblogs.com/godrain/p/4414135.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值