簡體   English   中英

如何計算PHP中兩個日期之間的工作日數?

[英]How to calculate the number of business days between two dates in PHP?

我有這種情況。 我有一個存儲在DB中的字符串,如下所示:

$string: 1,1,1,1,1,1,0 

這意味着:星期日是0(假日),所有其他日子(星期一...星期六)都是1。

然后我有兩個日期:今天(例如:2012-09-07)和一些結束日期(2012-10-04)。

我想知道如何才能獲得今天和結束日期(我的例子中為23天)之間的工作日總數(扣除假期)? 我們應該使用存儲在DB中的字符串。

$workdays = explode(",", "1,1,1,1,1,1,0"); // turn string to array (Monday to Sunday)
$days = 0;
$time = strtotime("2012-09-07");
$end_time = strtotime("2012-10-04");
while ($time < $end_time)
    {
        $day_of_week = date("N", $time) - 1; // 0 = Monday, 6 = Sunday
        if ($workdays[$day_of_week] == 1)
            {
                $days++;
            }
        $time = strtotime("+1 day", $time); // add one day to time
    }

這應該適合你。 您可能需要根據它是否包含它,何時開始等來修改它。

你試過date_diff()嗎? http://php.net/manual/en/function.date-diff.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM