/*** 获取指定日期n天前后的日期列表* @param string $date 日期* @param int $day_num 天数* @param string $cate 类型* @param string $format 格式* @return array*/ function get_date_ab_list(string $date, int $day_num, string $cate = 'b', string $format = 'Y-m-d'): array {//cate b代表before,指定日期往前$day_num天,a代表after,指定日期往后$day_num天$timezone = 'PRC';$data = [$date];switch ($cate) {case 'a':if ($day_num > 0) {$data = [];for ($i = 1; $i < ($day_num + 1); $i++) {$str = '+' . $i . ' day';$datetime = new \DateTime($date, new \DateTimeZone($timezone));$tmp = $datetime->modify($str);$data[] = $tmp->format($format);}}break;case 'b':if ($day_num > 0) {$data = [];for ($i = 1; $i < ($day_num + 1); $i++) {$str = '-' . $i . ' day';$datetime = new \DateTime($date, new \DateTimeZone($timezone));$tmp = $datetime->modify($str);$data[] = $tmp->format($format);}}break;}sort($data);return $data; }