php 安装calendar扩展,如何安装php calendar 模块

8b51762c9976b682e12044714919de2f.png

偶然的你

PHP提供了date()函数,该函数提供了丰富的日期处理功能。现在需要获得的数据有两个,第一个是当月的总天数;第二个是该月的第一天所在星期中的第几天,数字表示0(表示星期天)到6(表示星期六)。通过date()函数可以很容易获得上面的数据。1. <?php2. //date()函数的基本用法3. $year = date('Y'); //获得年份,例如20064. $month = date('n'); //获得月份,例如045. $day = date('j'); //获得日期,例如36. ?>通过mktime()函数和date()函数获得当月的总天数。 1.//获得当月的总天数2. $daysInMonth = date("t",mktime(0,0,0,$month,1,$year));同样是组合使用mktime()函数和date()函数,获得该月的第一天所在星期中的第几天,数字表示0(表示星期天)到6(表示星期六)。 1.//获得每个月的第一天,例如42. $firstDay = date("w", mktime(0,0,0,$month,1,$year));现在重新来观察下这个日历表格,我们发现,表格中的值是从1到x(当月的总天数)。我们可以形象地通过一个坐标来表示每一个位置(x,y),表格的起始位置是(0,0),结束位置是(5,4),当月第一天的起始位置是(0,3)。现在来创建一个二维数组来存储对应的日期。(1)需要获得表格的数目。1.//计算数组中的日历表格数2. $tempDays = $firstDay + $daysInMonth;(2)需要算出该月一共有几周(即表格的行数)。 1.//获得表格行数2. $weeksInMonth = ceil($tempDays/7);(3)在获得行数的变量之后,创建一个二维数组用来存放日期信息,代码如下: 1. <?php2. for($j=0;$j<$weeksInMonth;$j++)3.{4. for($i=0;$i<75. ;$i++)6. {7. $counter ++;8. $week [$j] [$i] = $counter;9. }10.}11. ?>(4)细心的读者可能发现,上面的代码其实是一个雏型,因为它处理出来的数据并没有过滤那些空白的表格单元。下面来继续改造下这段代码,加入过滤和构造的部分。改造后的代码如下: 1. <?php2. //创建日期二维数组3. for($j = 0; $j < $weeksInMonth; $j ++) {4. for($i = 0; $i < 7; $i ++) {5. $counter ++;6. $week [$j] [$i] = $counter;7. //日期偏移量8. $week [$j] [$i] -= $firstDay;9. if (($week [$j] [$i] < 1) || ($week [$j] [$i] > $daysInMonth)) {10. $week [$j] [$i] = "";11. }12. }13.}14. ?>(5)在获得正确的二维数组之后,就可以通过foreach()函数将存储的日期信息遍历出来,同时插入HTML标签创建日期,代码如下: 1. <?php2. $year = date ( 'Y' ); //获得年份, 例如: 20063. $month = date ( 'n' ); //获得月份, 例如: 044. $day = date ( 'j' ); //获得日期, 例如: 35. $firstDay = date ( "w", mktime ( 0, 0, 0, $month, 1, $year ) );6. //获得当月第一天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值