【问题标题】:Calculating next business day计算下一个工作日
【发布时间】:2012-06-12 17:58:37
【问题描述】:

给定 Zend_Date 和下午 5 点的截止时间,我如何计算下一个工作日?工作日为 M-F(工作日)。

示例: 周五下午 4 点应该返回相同的日期 周六的任何时候都应该在下周一返回 周二晚上 8 点应该返回周三

【问题讨论】:

  • 我知道如何在 PHP 中添加天数到 time() 但必须有更好的方法
  • @gandalf007 为什么必须在那里?这种方法有什么问题?
  • @Blowski 是的,我刚看到,不知道如何从 Zend_Date 翻译/到 Zend_Date
  • 是否需要排除节假日?

标签: php zend-framework


【解决方案1】:

我想这已经被问过了,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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多