获取从今天起最近的下一个工作日的日期


Get date of next nearest weekday from today

我需要从今天起得到下一个最近的工作日的日期。(例如:我会给出三个随机的工作日,如周日、周一、周六。从这个列表中,我需要从今天(周四)开始得到下一个最近的工作日。输出应该是周六。之后我想知道下周六的日期。

date('l', strtotime('today')+2*24*60*60);

不能清楚地理解你的问题。。根据我的理解,我提出了一个解决方案。。。你应该创建一个散列,用一个数字映射一个工作日,示例:

{
    Sun => 0,
    Mon => 1,
    ...
    Sat => 6
}

然后用你的随机工作日列表获得当天的MIN绝对值。

试试这个函数:

echo nearestWeekend( '26-12-2015' );
function nearestWeekend( $date ){
    $date = date('d-m-Y', strtotime($date . '+1 day'));
    while( !preg_match('/Sunday|Saturday/i' , date('l', strtotime($date)) ) ){
        $date = date('d-m-Y', strtotime($date . '+1 day'));
    }
    return date('d-m-Y', strtotime($date));
}