2012-06-08 108 views
-2

如何根據Zend_Date和下午5點的截止時間計算下一工作日?工作日是M-F(平日)。計算下一工作日

舉例: 星期五下午4時應該返回同一日期 週六隨時應返回下一個週一 星期二晚上8點應返回週三

+0

[在PHP定日期的下一個營業日]的可能重複(http://stackoverflow.com/questions/5532002/next-business-day-of-given-date-in-php) –

+0

我知道如何在PHP中添加日期時間(),但必須有更好的方法 – gandalf007

+0

@ gandalf007爲什麼必須在那裏?這種方法有什麼問題? –

回答

2

我覺得這已經問過,Next business day of given date in PHP,但在這裏它是使用Zend_Date的運算:

$now = new Zend_Date(); 
if (($now->get(Zend_Date::WEEKDAY_DIGIT) % 6 == 0) 
|| ($now->isLater('17:00:00', Zend_Date::TIMES)) 
) { 
    $now->set(
     strtotime('+1 weekday', $now->toString(Zend_Date::TIMESTAMP)), 
     Zend_Date::TIMESTAMP 
    ); 
} 
echo $now->toString(Zend_Date::W3C);