根据下单日期,获得最早可预约时间(可预约时间可以根据需求调整)

//测试public function jisuan_riqi(){$create_time = '2020-04-09';//下单时间$jiejia_date = ['2019-12-31'=>2,'2020-01-23'=>8,'2020-04-03'=>4,'2020-04-30'=>6,'2020-06-24'=>4,'2020-09-31'=>9];//国家法定假$work_date = 3;//下单时间距预约的时间(相当于三个工作日才能约)$yuyue_time = $this->yuyue_date($create_time,$jiejia_date,$work_date);var_dump($yuyue_time);die;}//获得当前月的周末集合public function dangyue($create_time){$strtotime = strtotime($create_time);$month = date('m',$strtotime);$year = date('Y',$strtotime);$days = date("t", mktime(0,0,0, $month, 1, $year));//当年当月的天数$startweek = date("w", mktime(0,0,0, $month, 1, $year));$nums = $startweek;$datea = [];for($i=0;$i<$days;$i++){$str = ($i+1 > 9)?$i+1:'0'.($i+1);if($nums == 6){$datea[] = "$year-$month-".$str;}elseif($nums == 7){$datea[] = "$year-$month-".$str;$nums = 0;}$nums++;}return $datea;}/***计算可预约时间函数*@param  $create_time 创建时间*@param  $jiejia_date 节假日集合*@param  $work_date 下单时间距预约的时间(相当于三个工作日才能约)**/public function yuyue_date($create_time,$jiejia_date,$work_date,$nums=2){$time = $create_time;for($s=0;$s<$nums;$s++){$time = date('Y-m-d',strtotime("{$time}+$s month"));$array = $this->dangyue($time);foreach($array as $k=>$v){$datea[] = $v;}}//筛选国家法定假foreach($jiejia_date as $key=>$val){for($v=0;$v<$val;$v++){$dateb[] =  date('Y-m-d',strtotime("{$key}+1+$v day"));}}$date = array_merge($datea,$dateb);$n = 0;       do {$create_time = date('Y-m-d',strtotime("{$create_time}+1 day"));if(!in_array($create_time,$date)){$n++;}} while ($work_date != $n);return $create_time;}

php获得当月的节假日函数(包含周末,年度节假日)相关推荐

  1. php判断是否节假日,php 排除周末与节假日程序实例代码

    date_default_timezone_set('prc');/*** 求取从某日起经过一定天数后的日期,* 排除周六周日和节假日* @param $start       开始日期* @para ...

  2. 跳过休息日(周末和节假日)

    日期计算跳过周末 使用pandas计算一定日期内工作日的天数,周末天数,遇到周末向后延长对应天数 例如 '2022-06-2'到'2022-06-04'之间有一天不是工作日 def skip_week ...

  3. 【现成工具】java获取国家法定节假日包含指定月份节假日和周末

    首先感谢大佬提供的免费API接口调用,http://timor.tech/api/holiday .该API工具类可以获取到国家法定节假日,此节假日为严格按照国家要求的双休和法定节假日并且包含节假日的 ...

  4. 获取某天到某天相隔的时间段的工作日期(包含周末上班时间)和非工作日(包括调休、国家法定节假日)

    在这 ## **获取某天到某天相隔的时间段的工作日期(包含周末上班时间)和非工作日(包括调休.国家法定节假日)** Date.prototype.format = function() {var s ...

  5. vue+js纯手写日历(包含农历,节假日)

    vue+js纯手写日历(包含农历,节假日) 使用的js 地址 dataChange.js 插件使用了elementui //完整代码 <template><div><di ...

  6. java计算时间的秒数差,去掉周末和节假日

    java计算时间的秒数差,去掉周末和节假日 如题所说,计算两个时间的秒数(工作日),拿到这个需求,首先想到的就是怎么去掉周末和节假日,或者两个时间有一个在周末或节假日,或者两个时间都在,要分别进行处理 ...

  7. 判断请假时间去除周末及节假日

    公司业务需求,在请假时自动跳过周六周日以及节假日.通过statisticsOfLeaveTime方法,传入请假开始的时间以及请假结束的时间,则可自动统计调休时间. 代码整体逻辑就为拿到请假开始和结束时 ...

  8. C#判断某天是否是周末或者节假日示例

    /// <summary> /// 判断是不是周末/节假日 /// </summary> /// <param name="date">日期&l ...

  9. 返回指定月份的周列表 包含 周序号、开始日期、结束日期(不包含周末)

    /*** 返回当前年月的周列表 包含 周序号.开始日期.结束日期(不包含周末)* @param year 年* @param month 月* @returns {Array} */function ...

  10. 递归:若函数包含了对其自身的调用,该函数为递归的。《Python核心编程》P305...

    递归:若函数包含了对其自身的调用,该函数为递归的. >>> #递归 <Python核心编程>P305 >>> def factorial(n): if ...

最新文章

  1. python基础04
  2. docker笔记-docker-container
  3. 某计算机系大二级共有5个班,2016年计算机二级考试MS Office题库及答案
  4. linux执行某个目录的程序
  5. WEB消息提醒实现之二 实现方式-Jquery Ajax长轮询
  6. [Swift]LeetCode897. 递增顺序查找树 | Increasing Order Search Tree
  7. UVa101 - The Blocks Problem
  8. python按照图片命名复制到不同文件夹下
  9. 如何避免学习linux必然会遇到的几个问题
  10. html调用js文件函数_函数式编程中的战斗机(三)--elm调用javascript的flags方式
  11. 微信投票刷票器手机免费版、手机微信投票作弊神器原理
  12. windows10安装adb/fastboot教程
  13. 渐行渐远的是熟悉的身影
  14. Python - PyQT5开发UI界面 - 环境搭建
  15. 适用计算机专业的电脑配置,适合大学生的组装电脑配置推荐
  16. 自己写的grpc简单连接池,基于common pool2
  17. 移动开发的软件开发生命周期介绍(二)
  18. 指纹算法中控 X638考勤机编程(delphi)
  19. js实现抽奖滚动效果
  20. 信息化项目验收确认测试的内容和流程有哪些?

热门文章

  1. 圆和长方形周长相等谁的面积大_周长相等,正方形、长方形、圆形谁的面积最大?...
  2. 【Windows网络编程】完成端口IOCP原理及案例
  3. 店店融合共振出的价值 才是苏宁的零售杀手锏
  4. Windows 配置 Aria2教程
  5. 华为2019年4月10日实习生笔试题
  6. C++加速代码(DAY 39)
  7. 【干货】如何紧跟未来的设计趋势:15 个让你永远不过时的资源
  8. 【亲自实践能够下载的谷歌地图切片url地址】谷歌地图数据下载的尝试以及Python爬虫实现
  9. HashMap 容量的初始化计算公式。是这样算的。请收藏
  10. linux服务器有电信和网通,Linux 双网关(电信与联通)