`

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

    博客分类:
  • PHP
 
阅读更多
http://www.jb51.net/article/20886.htm
加入$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;
    }
分享到:
评论

相关推荐

    求任一天为星期几

    此程序基于蔡勒公式(Zeller's Congruence)的一个变体来计算给定日期是星期几。蔡勒公式是一种在已知公元年份、月份和日期的情况下计算该日是星期几的方法。该公式适用于格里高利历(即现行公历)。 ### 知识点二...

    日历查询的算法 如何计算某一天是星期几

    - w:代表星期,0表示星期日,1表示星期一,依此类推,直到6表示星期六。 - c:世纪数减1,例如20世纪的c为19,21世纪的c为20。 - y:年份的后两位数,如2003年,y为03。 - m:月份,对于1月和2月,由于在蔡勒公式中...

    (中小学教育)三年级下册期中易错题汇集.doc

    5. 一个月最多有5个星期天,最少有4个星期六,这涉及到月份的天数与星期的关系。 6. 小华12周岁过了3个生日,暗示她是闰年2月29日出生的。 7. 一年中,一定是91天的季度是第三季度,因为7月、8月、9月都是31天。 ...

    accp6.0s1机试

    - **计算星期几**:根据2011年1月1日是星期六这一已知条件,通过累加前几个月的天数并加上6,然后求得的总和对7取余,以此确定当月第一天是星期几。例如,如果累加结果为13,则13 % 7 = 6,表明当月第一天是星期六。...

    三年级下册数学冀教版期中检测卷(含答案).pdf

    2. 判断星期对应关系,如“2015年5月1日是星期五,那么5月10日是星期六”。 3. 日期计算和推理,例如“连续三天日期的和是66,那么中间那天是23日”。 4. 对于年份中每个月份天数相同的判断。 5. 方向关系的判断,如...

    这个java的号东西

    // 星期一到星期六 } ``` ### 5. 输出日历 最后,在 `Menu2` 类的 `main` 方法中,使用循环和条件语句来输出日历视图。例如: ```java for (int i = 0; i ; i++) { System.out.print("\t"); // 输出空格以对齐...

    VBA_Excel自定义函数大全

    16. **函数作用:计算日期差,除去星期六、星期日** - **说明**:此函数可以计算两个日期之间的间隔天数,不包括周末。 - **应用场景**:适用于需要精确计算工作日的情况,如项目管理等。 17. **函数作用:将英文...

    access内置函数

    例如:`SELECT Weekday(Now())`,如果今天是星期一,则返回2(在Access中,一周的第一天默认为星期日,其值为1)。 **Year**: 返回日期中的年份。 #### 二、条件判断函数 **IsEmpty**: 判断变量是否为空。如果为...

    Excel2003函数应用完全手册.txt

    6. **COUPDAYS**: 计算支付期间内的天数。 7. **COUPDAYSNC**: 计算下一个支付期之前的天数。 8. **COUPNUM**: 计算从发行到到期之间的付款次数。 9. **COUPPCD**: 计算上一个支付日。 10. **CUMIPMT**: 计算投资的...

    北师大四年级数学下册平均数PPT学习教案.pptx

    例如,星期六和星期日的售票量会影响到整个星期的平均售票数,可能比前5天的平均数更高或更低。 5. **连续数据的平均数**:对于连续的数据,如王叔叔跑步的路程,如果有一天没有跑步,那么这5天的平均数会比前4天的...

    《Excel应用大全》示例文件 光盘文件

    • 计算目标日期所在季度的最后一天 • 返回目标日期是全年中的第几天 • 判断是否为闰年 • DATEDIF函数基本用法 • 利用日期函数计算员工工龄 • 计算指定日期的星期值 • 计算上月月末日期的星期 • 指定某月的第...

    2015年人教版小学数学三年级下册第五、六单元测试题数学知识.doc

    4. **时间计算**:时间的计算涉及到跨天的情况,例如小华从星期六晚上10点睡到第二天早上8点,共睡眠10小时。同样,明明从晚上9点睡到第二天早上6点,共睡了9小时。 5. **面积和周长**:面积和周长是衡量图形大小和...

    三年级下册数学-概念+计算+解决问题综合练习题-适合课后练习或者期末综合复习.doc

    12. 日期推算:11月27日是星期日,12月3日是星期六。 13. 商不变性质:两个数相除,被除数和除数同时扩大10倍,商不变;3×16=48,除数是48时,商是15。 14. 时间计算:火车从6:34出发,17:15到达,路上共用了10小时...

    python万年历实现代码 含运行结果

    - **功能**:此函数用于计算给定年份和月份之前的所有天数总和,用于确定当前月份第一天是一周中的哪一天。 - **逻辑**: - 遍历从1至目标年份的所有年份,累加每一年的天数(闰年366天,普通年365天)。 - 再遍历...

    人教部编版三年级数学上册期末考试题(A4打印版).pdf

    4. 日期与星期的关联,根据13日的星期推算30日的星期。 5. 对于31号的特殊事件,如促销活动,理解一年中31号出现的次数。 判断题考察基本概念: 1. 常识判断,例如人的身高。 2. 加法的交换律。 3. 三位数除以一位...

    VBA_自定义函数

    函数作用:计算日期差,除去星期六、星期日 - **函数描述**:计算两个日期之间的实际工作日天数,排除周末。 - **应用场景**:在需要计算不包括周末的实际工作日时使用,如项目计划、财务报表等。 #### 18. 函数...

    小学数学三到六年级知识点归纳.doc

    小学数学三到六年级的知识点涵盖了多个主题,包括位置与方向、除数是一位数的除法、统计、年月日的日期与时间概念、以及两位数乘两位数的乘法和面积的概念。以下是对这些主题的详细解释: 1. 位置与方向: - 东与...

Global site tag (gtag.js) - Google Analytics