/**
* 只算工作日,12点前到位当天开始算,12点后到位次日开始算,周末假期都跳过,星期五下午到位就是星期二出报告
* 节假日 http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm
* @param $work_day //工作日
*/
public function getWordDay($work_day)
{
$now_hour = date('H');
if ($now_hour > 12) {
$work_day++;
}
return $this->judgeHolidays($work_day);
}
public function judgeHolidays($days)
{
// 节假日
$holidays = [
"2022-01-01",// 元旦
"2022-01-02",
"2022-01-03",
"2022-01-31",// 春节
"2022-02-01",
"2022-02-02",
"2022-02-03",
"2022-02-04",
"2022-02-05",
"2022-02-06",
"2022-04-03",// 清明节
"2022-04-04",
"2022-04-05",
"2022-04-30",// 劳动节
"2022-05-01",
"2022-05-02",
"2022-05-03",
"2022-05-04",
"2022-06-03",// 端午节
"2022-06-04",
"2022-06-05",
"2022-09-10",// 中秋节
"2022-09-11",
"2022-09-12",
"2022-10-01",// 国庆节
"2022-10-02",
"2022-10-03",
"2022-10-04",
"2022-10-05",
"2022-10-06",
"2022-10-07",
];
// 调休(上班)
$needWorking = [
"2022-01-29",
"2022-01-30",
"2022-04-02",
"2022-04-24",
"2022-05-07",
"2022-10-08",
"2022-10-09",
];
$work_date = 0;
for ($i = 0; $i < 30; $i++) { //取接下来20天内的日期
$day = date("Y-m-d", strtotime("+" . $i . " day"));
if (in_array($day, $holidays)) {
continue;
} else if (date('w', strtotime($day)) == 0 || date('w', strtotime($day)) == 6) { //0 星期天 6 星期六
if (in_array($day, $needWorking)) {
$work_date++;
} else {
continue;
}
} else {
$work_date++;
}
if ($work_date == $days) {
return $day;
}
}
}
根据国家法定节假日来计算出报告时间
最新推荐文章于 2024-07-08 20:51:10 发布