Диапазон дат PHP в соответствии с сегодняшней датой - PullRequest
1 голос
/ 01 августа 2010

Кто-нибудь может придумать лучший способ записать это в цикле и получить тот же результат?

$today = date('l');

    if($today == 'Wednesday'){
        $min = date('l-m-d-y');
        $max = date('l-m-d-y', strtotime('+4 days'));
    }else if($today == 'Thursday'){
        $min = date('l-m-d-y', strtotime('-1 days'));
        $max = date('l-m-d-y', strtotime('+3 days'));
    }else if($today == 'Friday'){
        $min = date('l-m-d-y', strtotime('-2 days'));
        $max = date('l-m-d-y', strtotime('+2 days'));
    }else if($today == 'Saturday'){
        $min = date('l-m-d-y', strtotime('-2 days'));
        $max = date('l-m-d-y', strtotime('+1 days'));
    }else if($today == 'Sunday'){
        $min = date('l-m-d-y', strtotime('-3 days'));
        $max = date('l-m-d-y');
    }

    echo $min . ' - ' . $max;

Ответы [ 2 ]

3 голосов
/ 01 августа 2010

Я предположил, что вы хотели -3 в мин в субботу и -4 в воскресенье. Во всяком случае, это идея:

$weekday = date("w");
if ($weekday == 0)
    $weekday = 7;

if ($weekday >= 3) {
    $min = date('l-m-d-y',
        strtotime(($weekday==3?"+0":(3-$weekday))." days");
    $max = date('l-m-d-y',
        strtotime("+".(7-$weekday)." days");
}
1 голос
/ 01 августа 2010

может хранить его в массиве с днём в качестве ключа и +/- x днями в качестве значений.

...