Скорее всего, это будет дубликат для этого вопроса, но я изо всех сил пытаюсь найти точный ответ на мою проблему.
Пользователь вводит дату начала аренды клиента (в форме на предыдущей странице), тогда ему необходимо создать следующую дату (через неделю), которую клиент должен заплатить. Например:
$start_date = $_POST['start_date']; $date_to_pay = ???
Допустим, пользователь вступает в силу в 2015/03/02:
$start_date = "2015/03/02";
Затем я хочу, чтобы дата оплаты была равна неделе (2015/03/09):
$date_to_pay = "2015/03/09";
Как можно это сделать? Большое спасибо.
Вы можете попробовать это
$start_date = "2015/03/02"; $date = strtotime($start_date); $date = strtotime("+7 day", $date); echo date('Y/m/d', $date);
Попробуйте следующее:
date('dmY', strtotime('+1 week', $start_date));
Объектно-ориентированный стиль с использованием классов DateTime
:
$start_date = DateTime::createFromFormat('Y/m/d', $_POST['start_date']); $one_week = DateInterval::createFromDateString('1 week'); $start_date->add($one_week); $date_to_pay = $start_date->format('Y/m/d');
Или для тех, кто любит все это за один раз:
$date_to_pay = DateTime::createFromFormat('Y/m/d',$_POST['start_date']) ->add(DateInterval::createFromDateString('1 week')) ->format('Y/m/d');
$start_date = "2015/03/02"; $new_date= date("Y/m/d", strtotime("$start_date +1 week"));
Вы можете использовать этот.
$startdate = $_POST['start_date']; $date_to_pay = date('Y/m/d',srtotime('+1 week',$startdate));