PHP日期不包括周末

时间:2014-07-17 12:41:27

标签: php date

我目前正在建立一个仅在周一至周五提供交付的网站。

我想弄清楚如何添加投放日期。例如:

"今天订购,您可以期待在DD / MM / YY"

上交货

上述日期需要排除任何周末

所以基本上如果今天订购,交货日是4个工作日,不包括周末。

3 个答案:

答案 0 :(得分:8)

试试这个:

<?php
    echo strftime("%e/%m/%y", strtotime("+4 weekday"))
?>

它创建一个时间字符串“从现在开始的4个工作日”,格式为DD / MM / YY。

此处说明了可与strtotime一起使用的日期的相对格式:http://php.net/manual/en/datetime.formats.relative.php

答案 1 :(得分:2)

试试这个逻辑。您可以根据需要进行修改。

    $curdate = '2014-07-19';
    $mydate=getdate(strtotime($curdate));
    switch($mydate['wday']){
        case 0: // sun
        case 1: // mon
            $days = 4;
            break;
        case 2:    
        case 3:
        case 4:
        case 5:
            $days = 6;
            break;
        case 6: // sat
            $days = 5;
            break;
    }
    echo date('Y-m-d', strtotime("$curdate +$days days"));

答案 2 :(得分:0)

这里完全符合您的要求

$workdays = array();
$type = CAL_GREGORIAN;
$month = date('n'); // Month ID, 1 through to 12.
$year = date('Y'); // Year in 4 digit 2009 format.
$day_count = cal_days_in_month($type, $month, $year); // Get the amount of days


        for ($i = 1; $i <= $day_count; $i++) {

            $date = $year.'/'.$month.'/'.$i; //format date
            $get_name = date('l', strtotime($date)); //get week day
            $day_name = substr($get_name, 0, 3); // Trim day name to 3 chars

            //if not a weekend add day to array
            if($day_name != 'Sun' && $day_name != 'Sat'){
                $workdays[] = $i;
            }

        }

https://daveismyname.com/show-working-days-of-a-month-excluding-weekends-with-php-bp