php 判断当前时间是否为工作日?

php 判断当前时间是否为工作日?
怎么用代码实现?请各位指教

非常感谢大家指教,但是我的需求是工作日,并不是说是周一到周五,是除开国家法定节假日和周末的工作日

阅读 13.7k
9 个回答

根据问题更新

拿走不谢
HolidayApi

====================

多看文档

clipboard.png

$time = time();
$w = date('w',$time);
if($w != 0 and $w != 6)
{
    echo '工作日';
}
else
{
    echo '双休日';
}

weekday Monday 这个就是星期几

getdate()

// 格式
Array (
    [seconds] => 55 
    [minutes] => 9 
    [hours] => 18 
    [mday] => 23 
    [wday] => 1 
    [mon] => 4 
    [year] => 2018 
    [yday] => 112 
    [weekday] => Monday 
    [month] => April 
    [0] => 1524478195
)

“除开国家法定节假日和周末的工作日”,有时候周末上班也算工作日吧?
不知道你的具体使用场景,可以参考下面使用,代码有效性没有验证,仅供参考
由于国家的节假日每年都在变动,所以使用API接口判定是必要的
https://www.aspirantzhang.com...

我是让运营人员人工输入每年的假期 然后匹配一下就好了
每年假日交给运营维护

echo date('w');  //返回当天的星期;数字0表示是星期天,数字123456表示星期一到六
新手上路,请多包涵

楼上有几位可能理解错误了,楼主的问题不是isWeekday(这个靠内置的date library就可以实现),而是判定某一天是否是法定节假日之外的工作日。比如如果开发关于股市的程序,就需要知道某一天是否休市或者开市。
由于很多法定节假日是人为设定的,对于代码来说是随机的不可预测的,所以我觉得必须事先导入一些hard-coded 的calendar 来判断,或者通过一些第三方的api来判定。

PHP不可能知道你什么时候休息,什么时候上班,要判断工作日请调用第三方API

对于国家法定节假日可以使用开源的api或者根据国务院发布的节假日自己封装起来放到一个json文件里面,对于周末的工作日可以使用```
$time = time();
$w = date('w',$time);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题