加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 低代码、办公协同、物联平台、操作系统、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP读取一段时间内的日期列表的例子

发布时间:2023-11-03 10:31:37 所属栏目:PHP教程 来源:转载
导读:   最近在做一个关于日程表的项目,给出一个开始时间和一个结束时间,需要列出这个时间段内的日期列表并同时判断是周几。经过研究,得出如下方法,和大家共享,方便有需要的朋友。

  最近在做一个关于日程表的项目,给出一个开始时间和一个结束时间,需要列出这个时间段内的日期列表并同时判断是周几。经过研究,得出如下方法,和大家共享,方便有需要的朋友。
 
   代码如下
 
  1 /*
 
  *参数分别是开始时间戳,结束时间戳
 
  */
 
  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获取某段时间内每个月的方法,返回由这些月份组成的数组
 
   代码如下
 
  1 /**
 
  * 生成从开始月份到结束月份的月份数组
 
  * @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;
 
  }例如:
 
  2 echo '
 
  3
 
  4
 
  例如:
 
  5 echo '
 
  6
 
  7 Array
 
  (
 
      [0] => 2014-03
 
      [1] => 2014-04
 
      [2] => 2014-05
 
  )
 

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章