Получите дату недели с PHP

Как получить дату, одну неделю с сегодняшнего дня, в следующем формате: ГГГГ-ММ-ДД?

Спасибо.

Ответы

Ответ 1

Try:

date("Y-m-d", strtotime("+1 week"));

Это выведет:

2015-12-31

Если сегодня 2015-12-24

Ответ 2

Просто так, что предсказание Чарльза неверно, вот пример PHP 5.3+:

$now = new DateTime;
$interval = new DateInterval('P1W')
$next_week = $now->add($interval);
echo $next_week->format('Y-m-d');

или в несколько более компактной форме:

$now = new DateTime();
echo $now->add(new DateInterval('P1W'))->format('Y-m-d');

Ответ 4

добавление дней, недель, месяцев в любую дату

 $date = date("Y-m-d");// current date

 $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");

 $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");

 $date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");

 $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");

 $date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");

Ответ 5

public function getOrderDate($nextWeek = true){
    $dayOfWeekId = date('w');
    $spreadToNextWeek = 5 - $dayOfWeekId;
    if($nextWeek){
        // for next week
        $beginWeek = time() + (($spreadToNextWeek + 3) * 24 * 60 * 60);
        $endWeek = $beginWeek + (4 * 24 * 60 * 60);
    }else{
        // for this week
        $beginWeek = time() - (($dayOfWeekId - 1) * 24 * 60 * 60);
        $endWeek = $beginWeek + (4 * 24 * 60 * 60);
    }
    return date('Y-m-d', $beginWeek) . " TO " . date('Y-m-d', $endWeek);
}

всегда показывать интервал для этой и следующей недели