首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有计算周末天数的情况下显示某一日期

在没有计算周末天数的情况下显示某一日期
EN

Stack Overflow用户
提问于 2016-11-03 05:50:09
回答 2查看 50关注 0票数 0

在我的申请中,我想显示一个特定的日期,而不计算周末的天数。

所以我有时间开始升职:2016-11-03。促销活动持续到45日。

$value['invesdate'] // 2016-11-03

$businessdays= date('Y-m-d', strtotime($value['invesdate'] . ' +45 day'));

开始推广2016-11-03 + (+) 45 days = 2016-12-15

这是错误的日期,因为我计算和周末。相关日期是2016-01-05

如何删除计算周末的天数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-03 05:54:30

代码语言:javascript
复制
$startDate = '2016-11-03';
$numberofdays = 45;

$d = new DateTime( $startDate );
$t = $d->getTimestamp();

// loop for X days
for($i=0; $i<$numberofdays; $i++){

    // add 1 day to timestamp
    $addDay = 86400;

    // get what day it is next day
    $nextDay = date('w', ($t+$addDay));

    // if it's Saturday or Sunday get $i-1
    if($nextDay == 0 || $nextDay == 6) {
        $i--;
    }

    // modify timestamp, add 1 day
    $t = $t+$addDay;
}

$d->setTimestamp($t);

echo $d->format( 'Y-m-d' ). "\n";

演示 http://phpio.net/s/azq

票数 2
EN

Stack Overflow用户

发布于 2016-11-03 06:01:10

另一种最短的方法是:

代码语言:javascript
复制
$businessdays = date('Y-m-d', strtotime($value['invesdate'] . ' +45 weekdays'));
echo $businessdays;

PHPDocuments这里中提供了许多预定义的引用。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40394663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档