时间格式化我使用了Carbon类包
function getHoliday($date_time){$date_time = \Carbon\Carbon::parse($date_time);$curl = curl_init ( ) ;$params = ['query' => str_replace('年0', '年', $date_time->format('Y年m月')),'resource_id'=> 39043,'tn' => 'wisetpl','ie' => 'utf8','oe' => 'utf8','format' => 'json',];//设置抓取的urlcurl_setopt ( $curl , CURLOPT_URL , 'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?'.http_build_query($params) ) ;//设置头文件的信息作为数据流输出curl_setopt ( $curl , CURLOPT_HEADER , 0 ) ;curl_setopt($curl, CURLOPT_TIMEOUT, 3);//设置获取的信息以文件流的形式返回,而不是直接输出。curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;//执行命令$data = curl_exec ( $curl ) ;//关闭URL请求curl_close ( $curl ) ;//显示获得的数据$holiday_info = json_decode($data,true);$holiday_info['data'][0]['almanac'] = $holiday_info['data'][0]['almanac'] ?? [];$array = [];foreach ($holiday_info['data'][0]['almanac'] as $value) {$status = $value['status'] ?? 0;//$status 1假节日 2周末补班 0正常时间(可按照周六周日来划分是否是节假日)$date = \Carbon\Carbon::parse($value['oDate'])->setTimezone('Asia/Shanghai');$is_weekend = $date->isWeekend();$de_time = $date->format('Y-m-d');if (1 == $status || ($is_weekend && 0 == $status)) {//假日$array[$date->format('Y-m')][] = $de_time;}}if ($array) {$array = $array[$date_time->format('Y-m')] ?? [];}return $array;}return getHoliday("2021-07");
["2021-07-03","2021-07-04","2021-07-10","2021-07-11","2021-07-17","2021-07-18","2021-07-24","2021-07-25","2021-07-31"]