php 计算一段时间内所有的日期、月份

	//处理返回一段时间的日期数组  传入时间格式  2022-07-01  
	public function returnWeekDays($start='', $end='')
	{
		$week_arr = []; 
		if($start!='' && $end!=''){
			$start_stamp = strtotime($start);
			$end_stamp = strtotime($end);
			$days = ($end_stamp-$start_stamp)/86400+1; // 计算日期段内有多少天
			for ($i = 0; $i < $days; $i++) {
				if(date('Y', $start_stamp+(86400*$i)) == date('Y')){
					$week_arr[] = date('n/j', $start_stamp+(86400*$i));
				}else{
					$week_arr[] = date('Y/n/j', $start_stamp+(86400*$i));
				}
			}
		}
		return $week_arr;
	}

	//处理返回一段时间的月份数组   传入时间格式  2022-07-01  
	public function returnMonthList($start='', $end='')
	{
		$month_arr = []; 
		if($start!='' && $end!=''){
			//转为时间戳
			$start = strtotime($start.'-01'); 
			$end = strtotime($end.'-01'); 
			$i = 0;
			while($start<=$end){
				//累加每个月的的总秒数 计算公式:上一月1号的时间戳秒数减去当前月的时间戳秒数
				if(trim(date('Y',$start),' ') == date('Y')){
					$month_arr[$i] = trim(date('n',$start),' ')."月";
				}else{
					$month_arr[$i] = trim(date('Y/n',$start),' ');
				}
				$start += strtotime('+1 month',$start)-$start;
				$i++;
			} 
		}
		return $month_arr;
	}
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值