最近在做一个关于日程表的项目,给出一个开始时间和一个结束时间,需要列出这个时间段内的日期列表并同时判断是周几。经过研究,得出如下方法,和大家共享,方便有需要的朋友。
先贴一下此次需求的效果图:
下面是具体的代码片段:
/*
*参数分别是开始时间戳,结束时间戳
*/
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='';//http://www.feishuai.vip/php-function/969.html
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;
}