试试这个修改过的

function get_weekend_days($start_date, $end_date, $weekend_days=1) {

$data = array();

$start_reduce = $end_add = 0;

$start_N = date('N',strtotime($start_date));

$end_N = date('N',strtotime($end_date));

// 进行单、双休判断,默认按单休计算

$weekend_days = intval($weekend_days);

switch ($weekend_days)

{

case 2:

in_array($end_N,array(6,7)) && $end_add = ($end_N == 7) ? 2 : 1;

$start_reduce = ($start_N == 7) ? 1 : 0;

break;

case 1:

default:

$end_add = ($end_N == 7) ? 1 : 0;

break;

}

$days = ((strtotime($end_date) - strtotime($start_date))/86400) + 1;

$data['total_days'] = $days;

$data['total_relax'] = floor(($days + $start_N - 1 - $end_N) / 7) * $weekend_days - $start_reduce + $end_add;

return $data;

}

echo "Two days per week\n";

var_dump( get_weekend_days("2018-03-31","2018-04-08",2));

var_dump( get_weekend_days("2018-04-01","2018-04-08",2));

var_dump( get_weekend_days("2018-04-02","2018-04-08",2));

var_dump( get_weekend_days("2018-04-07","2018-04-08",2));

var_dump( get_weekend_days("2018-04-08","2018-04-08",2));

echo "One day per week\n";

var_dump( get_weekend_days("2018-03-31","2018-04-08",1));

var_dump( get_weekend_days("2018-04-01","2018-04-08",1));

var_dump( get_weekend_days("2018-04-02","2018-04-08",1));

var_dump( get_weekend_days("2018-04-07","2018-04-08",1));

var_dump( get_weekend_days("2018-04-08","2018-04-08",1));

php获取每月的星期天,php计算一月中有多少个周末相关推荐

  1. oracle获取每月的第一天和最后一天

    --获取每月的第一天 select to_char(sysdate,'yyy-mm')||'-01' from dual; --计算每月的最后一天 select add_months(( to_cha ...

  2. php每个月头一天与最后一天,PHP获取每月第一天与最后一天

    function getthemonth($date) { $firstday = date('Y-m-01', strtotime($date)); $lastday = date('Y-m-d', ...

  3. java获取每月最后一天_java获取每月的最后一天实现方法

    实例如下: public static void main(String[] args) throws ParseException { // 获取当月的天数(需完善) SimpleDateForma ...

  4. LocalDate,LocalDateTime获取每周,每月,每年的第一天和最后一天,获取一周七天的日期,获取每月的所有日期

    最近再弄日历相关的东西,然后就在获取每月所有日期,每周所有日期,每周,每月,每年的第一天和最后一天等,工具类没有这些方法,就写下来记录一下: /*** 一周的第一天** @param localDat ...

  5. java获取下月末,java获取每月月末日期

    java获取每月月末日期 比如要获取20140831 20140731 20140228 等等,并将结果放入到SELECT表单中. 项目中只需要获取两年即可,所以参数可自行修改. Calendar c ...

  6. GPS获取到的经纬度,计算东西经,南北纬

    怎么根据经度或纬度,计算出是东经还是西经,是南纬还是北纬    我是用的LocationManager类直接获取的GPS信息 location.getLatitude();// 经度 location ...

  7. server sql 本月最后一天_sql server-在SQL中获取每月的最后一天

    sql server-在SQL中获取每月的最后一天 我需要获取SQL中指定的月份的最后一天. 如果我有每月的第一天,则可以执行以下操作: DATEADD(DAY, DATEADD(MONTH,'200 ...

  8. 编写程序计算 sentence 中有多少个单词,并指出其中最长和最短的单词。如果有多个最长或最短的单词,则将它们全部输出。

    /*已知有如下 string 对象:  9.39:  string line1 = "We were her pride of 10 she  named us:";   stri ...

  9. 计算区域中有t 个点的 区域有多少个+计算几何 + 叉乘+sort+ 二分 + map poj 2398 Toy Storage...

    题目来源:http://poj.org/problem?id=2398 分析: 计算区域中有t 个点的 区域有多少个. #include <cstdlib> #include <cs ...

最新文章

  1. 大学生创业难?现在已不是问题!
  2. 【树形DP】树的重心详解+多组例题详解
  3. 【extjs6学习笔记】1.1 初始:创建项目
  4. java日期时间的转化
  5. wxWidgets:wxFilePickerCtrl类用法
  6. 干货 | 工行分布式数据库选型与大规模容器化实践
  7. php开发者大会报名,2017 PHP 全球开发者大会
  8. strchr函数的用法
  9. 云栖专辑 | 阿里开发者们的第6个感悟:享受折磨 1
  10. 学计算机的能看出批图吗,高手教你:如何看出一张图有没有被P过?
  11. 你是我心中永远抹不掉的痛
  12. 关于Hive数据仓库的那些事儿(一)模式设计
  13. 最新2022亲测可用的免费google翻译api
  14. 电气与计算机哪个好考吗,电气工程师难考吗 含金量怎么样
  15. 免费且好用的GIF录制软件LICEcap
  16. ubuntu QT Creator Fatal IO error 2 (没有那个文件或目录) on X server :0
  17. ns注册改服务器,NameSilo域名更改NS服务器简单过程介绍
  18. 微信windows版本体验报告
  19. 证券业数据大集中及其风险控制分析
  20. 树状数组(二)——#10115. 「一本通 4.1 例 3」校门外的树

热门文章

  1. vue 代码快捷键_你可能不知道的19种运行JavaScript代码工具
  2. vmware克隆主机
  3. python 面向对象 析构方法
  4. Hibernate学习(1):查询demo
  5. JAVA爬虫实践(实践二:博客园)
  6. Validator验证Ajax提交表单的方法
  7. Codeforces Round #243 (Div. 2) A~C
  8. POJ 2912 Rochambeau(难,好题,枚举+带权并查集)
  9. 对于数据库视图的一些理解
  10. 4-算法 校门外的树