2016-03-12 2 views
0

Я пытаюсь сохранить дату в базе данных, используя полученную мной из запроса на отправку ajax. Пост-запрос является успешным, и полученная дата находится в правильном формате. Вкладка Сеть в консоли показывает, что формат данных для дат, когда писал:Ошибка формата даты при сохранении в базе данных

 start:Mon Mar 07 2016 00:00:00 GMT+0000 
    end:Thu Mar 10 2016 00:00:00 GMT+0000 

Однако, когда я сохранить его в базе данных, используя следующий код PHP он сохраняет только на сегодняшнюю дату:

$json_array["start"]=json_decode($_POST["start"], true); 
    $json_array["end"]=json_decode($_POST["end"], true); 

    $start = new DateTime($json_array['start']); 
    $end = new DateTime($json_array['end']); 

    $start =$start->format("Y-m-d H:i:s"); 
    $end =$end->format("Y-m-d H:i:s"); 

И когда я использую это, он сохраняет его в 31 декабря 1969 года 7 вечера:

$json_array["start"]=json_decode($_POST["start"], true); 
    $json_array["end"]=json_decode($_POST["end"], true); 
    $start =date("Y-m-d H:i:s",$json_array["start"]); 
    $end =date("Y-m-d H:i:s",$json_array["end"]); 

Может кто-нибудь наставит меня, где я не прав, я ценю помощь.

+0

Я не вижу JSON вы пытаетесь расшифровать? это не просто простая строка в '$ _POST ['start']'? – Jeff

+0

Perfect Jeff .... Это было! –

+0

Сделайте это ответом, и я отметю его ... Это было так, что я все время делал неправильно ... –

ответ

0

Я не верю, что опубликованные данные - это json, а просто простая строка.
(и ваш комментарий говорит мне, что я прав)

Так удалить json_decode

$json_array["start"]=json_decode($_POST["start"], true); 
$json_array["end"]=json_decode($_POST["end"], true); 

и измените следующие строки

$start = new DateTime($_POST['start']); 
$end = new DateTime($_POST['end']); 

и вы должны быть хорошо!

Конечно, вы должны проверить в первую очередь то, что в этом POST и проверить на наличие ошибок, Исеть() Асо ..... в реальной жизни кода

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