繁体   English   中英

PHP日期不包括周末

[英]PHP date excluding weekend

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

我想弄清楚如何添加交货日期。 例如:

“今天订购,你可以期待DD / MM / YY交货”

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

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

尝试这个:

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

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

可以与strtotime一起使用的日期的相对格式在这里解释: http//php.net/manual/en/datetime.formats.relative.php

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

    $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"));

这完全是你想要的

$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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM