2016-04-14 3 views
0

Я хочу добавить нет. недели. Результат должен прийти к дате «Y-m-d».Добавить количество недель на дату

Здесь «time_take» поступает из базы данных, и это нет. как 1, 2, 3, 5, 7 и т.д.

<?php 
     $date = $record['Child']['dob']; 
     $str = "'+".$Vac['Vac']['time_take']." week'"; 

     echo date('Y-m-d',strtotime($str,strtotime($date)));     
    ?> 

Мой результат приходит "1970-01-01"

Это формат даты в базе данных.

Помогите мне.

+0

Хотите неделю, как за весь год или в определенный месяц? – Kunal

+0

Какой формат является добом в '$ record ['Child'] ['dob']' – RiggsFolly

+0

Я обновляю свой вопрос как ответ на ваш вопрос. – AmarpremCool

ответ

2
<?php 
$date = "2015-01-01"; 
$str = "+".$Vac['Vac']['time_take']." week"; 
//echo date('Y-m-d',strtotime("$str",strtotime($date))); 
    echo date('Y-m-d',strtotime($str,strtotime($date))); 
?> 

Выход:

2015-01-08 

Проверить в онлайн-редакторе. Click Here

+0

почему минус голосование. Пожалуйста, укажите. :( – RJParikh

+0

Неделя также является переменной. Использование '$ str =" +1 week ";' не отвечает на вопрос – RiggsFolly

+0

Я только что дал идею, теперь пользователь может добавить ее динамически. Я отредактировал мой ответ, пожалуйста, проверьте. @RiggsFolly – RJParikh

2

Если вы держите его просто начать с вами всегда можно сцепить код один раз его работы

$dob = $record['Child']['dob']; 
$num = $Vac['Vac']['time_take']; 
$pDate = strtotime("$dob + $num week"); 
echo date('Y-m-d',$pDate); 
+1

Так кто же раздаёт голосующие голоса. У меня всегда есть причина. – RiggsFolly

0

После некоторой коррекции в моем коде с 2-3 ответов помочь. Окончательный ответ: -

<?php 
     $date = $record['Child']['dob']; 
     $str = "+".$Vac['Vac']['time_take']." week"; 

     echo date('Y-m-d',strtotime($str,strtotime($date)));     
    ?> 

Выход правильно.

1

Попробуйте это

$start_date = $record['Child']['dob']; 
$str = $Vac['Vac']['time_take']; 
$date = strtotime($start_date); 
$date = strtotime("+".$str." week", $date); 
echo date('Y-m-d', $date); 
+0

Просто небольшая точка, это не работает! – RiggsFolly

+0

Вам нужно использовать $ str = "+". $ Vac ['Vac'] ['time_take']. "Week" ;. здесь. – RJParikh

+0

Теперь лучше – RiggsFolly

0

Сво работать сразу после того, как сцепить код.

$start_date = $record['Child']['dob']; 
$str = $Vac['Vac']['time_take']." week"; 
$date = strtotime($start_date); 
$date = strtotime("+".$str." week", $date); 
echo date('Y-m-d', $date); 

Выход:

2015-01-08