php获取某一年的工作日列表

<?php
//节假日
$holidays =  [
    '20160101',
    '20160208',
    '20160209',
    '20160210',
    '20160211',
    '20160212',
    '20160304',
    '20160402',
    '20160403',
    '20160404',
    '20160430',
    '20160501',
    '20160502',
    '20160609',
    '20160610',
    '20160611',
    '20160915',
    '20160916',
    '20160917',
    '20161001',
    '20161002',
    '20161003',
    '20161004',
    '20161005',
    '20161006',
    '20161007'
];

//周末上班日
$weekendWorkDays = [
    '20160206',
    '20160214',
    '20160612',
    '20160918',
    '20161008',
    '20161009'
];

function getWorkDays($year, $holidays, $weekendWorkDays)
{
    $startDate = strtotime($year.'-01-01');
    $endDate = strtotime('+1 Year', $startDate) - 86400;

    $workDays = [];
    for ($startDate; $startDate <=$endDate; $startDate += 86400) {
        $info = getdate($startDate);
        $date = date('Ymd', $startDate);
        if((in_array($info['weekday'],array('Sunday','Saturday')) || in_array($date,$holidays)) && !in_array($date, $weekendWorkDays)){
            continue;
        }
        $workDays[] = (int)$date;
    }

    return $workDays;
}

$workDays = getWorkDays(2016, $holidays, $weekendWorkDays);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值