首页 > 编程语言 >计算一段日期内的周末天数的php代码(星期六,星期日总和)

计算一段日期内的周末天数的php代码(星期六,星期日总和)

时间:2023-05-16 13:07:15浏览次数:56  
标签:星期日 workday end 天数 days strtotime start date php


[url]http://www.jb51.net/article/20886.htm[/url]
加入$is_workday 参数,可以选择是否返回工作日,默认是返回休息日

function get_weekend_days($start_date,$end_date,$is_workday = false){

        if (strtotime($start_date) > strtotime($end_date)) list($start_date, $end_date) = array($end_date, $start_date);
        $start_reduce = $end_add = 0;
        $start_N = date('N',strtotime($start_date));
        $start_reduce = ($start_N == 7) ? 1 : 0;
        $end_N = date('N',strtotime($end_date));
        in_array($end_N,array(6,7)) && $end_add = ($end_N == 7) ? 2 : 1;
        $alldays = abs(strtotime($end_date) - strtotime($start_date))/86400 + 1;
        $weekend_days = floor(($alldays + $start_N - 1 - $end_N) / 7) * 2 - $start_reduce + $end_add;
        if ($is_workday){
            $workday_days = $alldays - $weekend_days;
            return $workday_days;
        }
        return $weekend_days;
    }

标签:星期日,workday,end,天数,days,strtotime,start,date,php
From: https://blog.51cto.com/u_3871599/6283460

相关文章

  • Linux & Window: idea配置php+xdebug
    xdebugproblemusingidekey[url]http://devnet.jetbrains.com/message/5265653[/url]NetBeans结合xdebug调试php-fpm下的PHP代码[url]http://www.48474.com/netbeans%E7%BB%93%E5%90%88xdebug%E8%B0%83%E8%AF%95php-fpm%E4%B8%8B%E7%9A%84php%E4%BB%A3%......
  • 2023最新精美PHP导航网源码⭐️⭐️⭐️⭐⭐
    本文来源:猿说AI >> 网站源码 >> 导航网站源码一.简介在当今信息爆炸的时代,网址、搜索引擎等成为了人们浏览互联网不可或缺的工具和入口。然而,在众多的信息源中寻找所需页面往往是一件耗时耗力的事情。于是,像PHP导航网这样的平台便应运而生。今天,我们要介绍的是最新版......
  • php substr中文乱码最有效到解决办法
    直接使用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符“锯”成两半。解决办法:1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。2、自己书写截取函数,但效率不如用mbstring扩展库来得高。3、如果仅是为了输出截取的串,可用如下方式实现......
  • buuctf [网鼎杯 2020 朱雀组]phpweb
    首先访问网站,发现警告,说的是后端时区设置不对,这引导我们看看index源码是怎么查询时间的Warning:date():Itisnotsafetorelyonthesystem'stimezonesettings.Youarerequiredtousethedate.timezonesettingorthedate_default_timezone_set()function.Incase......
  • PHP命名空间(Namespace)初探
    探完闭包[查看],再探命名空间。对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定......
  • PHP常用设计模式
    单例模式特点:三私一公:私有的静态变量(存放实例),私有的构造方法(防止创建实例),私有的克隆方法(防止克隆对象),公有的静态方法(对外界提供实例) 应用场景:程序应用中,涉及到数据库操作时,如果每次操作的时候连接数据库,会带来大量的资源消耗。可以通过单例模式,创建唯一的数据库连接对象......
  • php ::是啥意思
    php中::是什么意思? PHP中的‘::’是一种内置的语法解析符号,中文名叫做“范围解析操作符”。::符号是用来帮助PHP中的语法结构“类”来实现对其成员的访问,通常我们只允许访问静态成员,具体代码如下:①类正常访问静态成员classHeima{//静态属性publicstatic$heima='......
  • labview软件工程师必备模块,做项目时遇到无赖客户可以在规定天数到达锁死,给序列号可根
    labview软件工程师必备模块,做项目时遇到无赖客户可以在规定天数到达锁死,给序列号可根据设置天数生成序号允许天数继续使用,到期又锁死,三层数据加密验证防破解!ID:3568632597309328......
  • Prometheus php-fpm监控安装部署
    1.进入默认php配置文件:/etc/php/7.3/fpm/php-fpm.conf添加:pm.status_path=/fpm_statusecho"pm.status_path=/fpm_status">>/etc/php/7.3/fpm/php-fpm.conf2.在nginx配置文件下面添加fpm-statuslocation配置:/etc/nginx/conf.d/nginx-php.conflocation~^/(fpm......
  • 用扩展的方式在 PHP 中使用 Kafka
    前言:    由于之前在PHP中使用Kafka是通过composer包的方式,由于 nmred/kafka-php很久没有维护,并且网上相关问题的文章也比较少。所以我这次换成PHP扩展 RdKafka继续使用,主要介绍扩展安装和这种方式的基本操作。 安装:1.下载2.目录    由于php-rdkafka......