如何判断一个日期是节假日还是工作日
最近的一个微信多客服项目需要判断当前的日期是节假日还是工作日,中国的节假日有点复杂,比如端午中秋这些假期是农历,而十一长假又会有补休,所以很难去简单的去判断,还好最近找到百度 APIStore 的一个 API 可以简单的判断:
function wpjam_is_holiday($d){
$url = 'http://apis.baidu.com/xiaogg/holiday/holiday?d='.$d;
$response = wp_remote_get($url, array(
'headers'=> array('apikey'=>'494969c1cb7d9d1b05960c7257750648'),
));
$response = json_decode($response['body'],true);
return $response;
}
用法举例:
检查一个日期是否为节假日:wpjam_is_holiday('20130101');
检查多个日期是否为节假日:wpjam_is_holiday('20130101,20130103,20130201');
获取2012年1月份节假日:wpjam_is_holiday('201201');
获取2012年所有节假日:wpjam_is_holiday('2012');
获取2013年1/2月份节假日:wpjam_is_holiday('201301,201302');
单个日期返回数字:
0 工作日
1 休息日
2 节假日
其他则返回相应的数组。
*上面使用 WordPress 封装好的 HTTP Request 的函数,如果你使用 PHP 可能需要自己使用 CURL 去获取下。