时间:2021-07-01 10:21:17 帮助过:4人阅读
<?php /* * 美式日历 */ //指定日期 $year = 2017; $month = 10; //获取时间戳 $firstDayInt = mktime(0,0,0,$month,1,$year); //获取指定月份天数 $dayInMouth = date('t',$firstDayInt); //获取初始时间为星期几 $firstDay = date('w',$firstDayInt); //星期日(0) -> 星期六(6) //日历行(周)数 $tmpDays = $dayInMouth + $firstDay; $weeks = ceil($tmpDays/7); //向上取整 /* * 使用二维数组模拟日历,一维为周数,二维为星期数 * 二维数组[周数][星期数] */ $days = []; //日期计数器 $day_tmp = 0; for ($i = 0;$i < $weeks;$i ++) { //0,1,2,3,4 单位:行 for ($j = 0; $j < 7; $j ++) { //0,1,2,3,4,5,6 单位:星期数值 /* * 判断条件: * 1.首行未填充星期数的日期为空值。当$j == $firstDay时,该月初始日期为星期日 * 2.因周周循环,日期递增,上述函数式值只适用于$i == 0时 * 3.日期数大于月天数时,在不满足$j变量范围之前,末行填充的日期数为空值 */ if(($i == 0 && $j >= $firstDay) || $i > 0 && $day_tmp < $dayInMouth) { // 日期+1 $day_tmp ++; // 例:[第一行][首位] = 1(号) $days[$i][$j] = $day_tmp; } else { $days[$i][$j] = ''; //空值 } } } ?> <table border="1" width="500"> <tr> <th colspan="7"><?php echo $year,'年',$month,'月'; ?></th> </tr> <tr> <th>星期日</th> <th>星期一</th> <th>星期二</th> <th>星期三</th> <th>星期四</th> <th>星期五</th> <th>星期六</th> </tr> <!-- 遍历二维数组--> <?php // 遍历日历 foreach ($days as $week => $weekDays) { echo '<tr>'; // 遍历行日期 foreach ($weekDays as $day) { echo '<td>',$day,'</td>'; } echo '</tr>'; } ?> </table>
相关推荐:
PHP简单创建日历的方法,php创建日历_PHP教程
以上就是PHP如何创建日历的详细内容,更多请关注Gxl网其它相关文章!