2

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

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

Dyan 231
2018-04-23 提问
9 个回答
0

已采纳

如果不需要提前知道股市是否开市,可以调新浪的接口,对比更新时间,我就是这么干的
http://hq.sinajs.cn/?list=sh0...

4

根据问题更新

拿走不谢
HolidayApi

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

多看文档

clipboard.png

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

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
)
1

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

1

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

0

$dt = Carbon::now();
$dt->isWeekday();
$dt->isWeekend();

http://carbon.nesbot.com/docs/

0
echo date('w');  //返回当天的星期;数字0表示是星期天,数字123456表示星期一到六
0

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

0

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

撰写答案

推广链接