2013-12-04 2 views
0

Итак, я пытаюсь взять дату, которую я сохранил в строке, и увеличивать ее на одну неделю 9 раз. (Я хочу всего 10 дат).strtotime conversion: only date

Значение $ датой_начала изначально: «2013-12-04 12:00», но когда я увеличиваем его становится:

606813 
then: 
1211613 
1816413 and so on. 

Я понимаю, что форматирование будет меняться, но я не» я понимаю, почему я получаю результаты, которые я делаю. Второй возвращается номер, кажется, подразумевает:

12 (месяц) 11 (день) 6 (некоторые Unkown вещь) 13 (год)

который бы неделю, а первый и третий вернулся числа не имеют смысл вообще, если не существует 60-го и 18-го месяцев в году, о которых я не знаю, и им не хватает времени, чтобы согласиться с датой.

Это моя первая попытка использовать strtotime(), поэтому я не уверен, что я делаю, но я попытался с этим справиться, и я мог бы использовать любую помощь, которую вы можете предложить.

$start_date = $row["start_time"]; 

for ($i = 1; $i<9; $i++){ 
    $start_date= strtotime('+1 week', $start_date); 
    $arr = array('id' => $row["course_id"], 
       'title' => $row["course_name"], 
       'start' => $start_date, 
       'allDay' => false 
       ); 
      array_push($result, $arr); 
     } 
+0

[StrToTime] (http://php.net/manual/en/function.strtotime.php) возвращает 'int' метки времени не строка. – bansi

+0

ahhh! Я понял. – ReezaCoriza

ответ

0

strtotime возвращает Int и второй параметр (если используется) должен быть действительной меткой времени. Кроме того, если вы хотите, чтобы получить строку даты вы можете использовать date функцию

$start_date = strtotime('2013-12-04 12:00'); 

for ($i = 1; $i<9; $i++){ 
    $start_date= strtotime('+1 week', $start_date); 
    $arr = array('id' => $row["course_id"], 
      'title' => $row["course_name"], 
      'start' => date('Y-m-d h:i:s',$start_date), 
      'allDay' => false 
      ); 
     array_push($result, $arr); 
    } 
0

Для увеличения времени с StrToTime я должен был сначала преобразовать дату начала, прежде чем какое-либо приращение сделано, в противном случае он считает $ StartDate быть «эпоха» и создает даты в 70-й лет.

   //changed here 
$start_date = strtotime($row["start_time"]); 

for ($i = 1; $i<9; $i++){ 
    $start_date= strtotime('+1 week', $start_date); 
    $arr = array('id' => $row["course_id"], 
       'title' => $row["course_name"], 
       'start' => $start_date, 
       'allDay' => false 
       ); 
      array_push($result, $arr); 
     } 

 Смежные вопросы

  • Нет связанных вопросов^_^