Как получить дату, одну неделю с сегодняшнего дня, в следующем формате: ГГГГ-ММ-ДД?
Благодарю.
Пытаться:
date("Ymd", strtotime("+1 week"));
Это приведет к выводу:
2015-12-31
Если сегодня 2015-12-24
Так что предсказание Чарльза неверно, вот пример PHP 5.3+:
$now = new DateTime; $interval = new DateInterval('P1W') $next_week = $now->add($interval); echo $next_week->format('Ym-d');
или в несколько более компактной форме:
$now = new DateTime(); echo $now->add(new DateInterval('P1W'))->format('Ym-d');
<?php $nextWeek = time() + (7 * 24 * 60 * 60); echo 'Next Week: '. date('Ym-d', $nextWeek) ."\n";
Один отсутствует из предсказания Чарльза, прямо из уст лошадей, пример № 1
добавление дней, недель, месяцев в любую дату
$date = date("Ymd");// current date $date = strtotime(date("Ymd", strtotime($date)) . " +1 day"); $date = strtotime(date("Ymd", strtotime($date)) . " +1 week"); $date = strtotime(date("Ymd", strtotime($date)) . " +2 week"); $date = strtotime(date("Ymd", strtotime($date)) . " +1 month"); $date = strtotime(date("Ymd", strtotime($date)) . " +30 days");
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('Ym-d', $beginWeek) . " TO " . date('Ym-d', $endWeek); }
всегда показывать интервал для этой и следующей недели