php显示日期列表,PHP获取一段时间内的日期列表的例子

我们需要写一个简单的函数可以获取指定时间日期内的一段日期列表,下面我找到一个比较合适的方法与各位朋友分享。

最近在做一个关于日程表的项目,给出一个开始时间和一个结束时间,需要列出这个时间段内的日期列表并同时判断是周几。经过研究,得出如下方法,和大家共享,方便有需要的朋友。

先贴一下此次需求的效果图:

927fe6f9b17d7b31f45cbda24c06ea09.png

 代码如下复制代码
/*

*参数分别是开始时间戳,结束时间戳

*/

function timeList($beginTimeStamp,$endTimeStamp){

if(!is_numeric($beginTimeStamp)||!is_numeric($endTimeStamp)||($endTimeStamp<=$beginTimeStamp)) return '';

$tmp=array();

for($i=$beginTimeStamp;$i<=$endTimeStamp;$i =(24*3600)){

$tmp['timeStampList'][]=$i;

$tmp['dayList'][]=date('Y年m月d日',$i);

$tmp['dayWeek'][]=getWeek($i);

}

return $tmp;

}

function getWeek($timestamp){

$timestamp=date('w',$timestamp);

$str='';

switch($timestamp){

case '0':

$str.='周日';

break;

case '1':

$str.='周一';

break;

case '2':

$str.='周二';

break;

case '3':

$str.='周三';

break;

case '4':

$str.='周四';

break;

case '5':

$str.='周五';

break;

case '6':

$str.='周六';

break;

}

return $str;

}

php获取某段时间内每个月的方法,返回由这些月份组成的数组

 代码如下复制代码

/**

* 生成从开始月份到结束月份的月份数组

* @param int $start 开始时间戳

* @param int $end 结束时间戳

*/

function monthList($start,$end){

if(!is_numeric($start)||!is_numeric($end)||($end<=$start)) return '';

$start=date('Y-m',$start);

$end=date('Y-m',$end);

//转为时间戳

$start=strtotime($start.'-01');

$end=strtotime($end.'-01');

$i=0;//http://www.phpernote.com/php-function/224.html

$d=array();

while($start<=$end){

//这里累加每个月的的总秒数 计算公式:上一月1号的时间戳秒数减去当前月的时间戳秒数

$d[$i]=trim(date('Y-m',$start),' ');

$start =strtotime(' 1 month',$start)-$start;

$i ;

}

return $d;

}例如:

echo '

';print_r(monthList(1395283229,1398960000));

例如:

echo '

';print_r(monthList(1395283229,1398960000));结果将得到如下:

Array

(

[0] => 2014-03

[1] => 2014-04

[2] => 2014-05

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值