PHP生成日期范围
/** * 生成日期范围 * * @param string $startDate 开始日期 2020-09-25 * @param string $endDate 结束日期 2020-10-08 * @param bool $range_month 是否生成月范围,默认生成日范围 * * @return array */ function rangeDate($startDate = '', $endDate = '', $range_month = false) { $array = []; $start = strtotime($startDate); $end = strtotime($endDate); // 默认最多生成366天,正常365天,如闰年的2月多一天 $limit = 366; // 默认最多生成12个月 $monthLimimt = 12; $i = 1; if (false === $range_month) { $array[] = date('Y-m-d', $start); while ($limit--) { $next = strtotime("+$i day", $start); $i++; if ($next < $end) { $array[] = date('Y-m-d', $next); } else { break; } } $array[] = date('Y-m-d', $end); } else { $array[] = date('Y-m', $start); while ($monthLimimt--) { $next = strtotime("+$i month", $start); $i++; if ($next < $end) { $array[] = date('Y-m', $next); } else { break; } } $array[] = date('Y-m', $end); } // 去重一次 return array_unique($array); }
如需转载请注明出处
技术交流QQ群: 109345266