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

更新时间:2019-05-11    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

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

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

PHP如何获取一段时间内的日期列表jquery1395368650656="144" />

 代码如下 /*
*参数分别是开始时间戳,结束时间戳
*/
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
)

本文来源:http://www.bbyears.com/jiaocheng/50506.html