2016-11-03 58 views
0

在我的申請中,我想顯示某個日期而不計算週末日。顯示某個日期而不計算週末日

所以我有促銷開始日期:2016-11-03。促銷活動持續時間爲45天。

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

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

推廣2016-11-03加號(+)45天開始= 2016-12-15

這是becouse我計算和週末錯誤的日期。 錯誤日期爲2016-01-05

如何刪除計算週末天數?

+1

最佳答案我有這個http://stackoverflow.com/questions/336127/calculate-business-days – Bik

回答

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

DEMOhttp://phpio.net/s/azq

-1

做到這一點的另一種最簡單的辦法:

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

有PHP文件here中給出了許多預定義的引用。

相關問題