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