2015-06-11 9 views
0

У меня есть таблица mySql, в которой есть столбец с именем, размещенный, который настроен на тип timestamp и по умолчанию current_timestamp. Затем я использовал php PDO, чтобы получить его значение (наряду с несколькими другими столбцами), и echo json_encode все это. Я вызываю свой .php-файл, используя вызов AJAX, и теперь я хочу отформатировать дату, которую я получаю.

Некоторое искание в Google привело к добавлению jQuery-UI для его функции $.datepicker в качестве простого способа форматирования данных. Так как я, вероятно, буду использовать некоторые другие элементы jQuery-UI на своей странице, это кажется разумным решением. Пока я не смог заставить его работать.

Когда я console.log релевантный объект, получаю этот результат "2015-06-10 13:26:54".

Вот мой JS код (вы должны смотреть на вар комментариев):

function makeArticleFeed(response) { 
     $('#articles-feed').empty(); 
     if(response.length > 0) { 
      for(var x = 0; x<response.length; x++) { 
       console.log(response[x].posted); 
       var posted = $.datepicker.formatDate('dd m yy', new Date(response[x].posted)); 
       $("#articles-feed").append(
        '<div class="article-box"><h1><a href="#">'+response[x].title+ 
        '</a></h1><h3><a href="#">' +response[x].author_id+ 
        '</a>&nbsp;|&nbsp;'+ posted+ 
        '</h3><p>'+response[x].extract+'</p></div>' 
        ); 
      } //end article feed for loop 
     } 
     else { 
      $("#articles-feed").append('<h1>Sorry, no article found!</h1>'); 
     } 

ответ

1

Вот что вы получаете, когда вы передаете строку Invalid Date функции formatDate().

Другими словами, response[x].posted не является допустимой датой, которая может быть проанализирована javascripts new Date.

Если это временная метка с MySQL, это обычно в формате 2015-06-11 16:48:24, и вы можете получить время эпохи в большинстве ServerSide languanges, например, просто передавая его РНР strtotime будет работать, и тогда вам придется секунд от эпохи, и javascript принимает миллисекунды, поэтому вы умножаете тысячу либо на сервер, либо перед передачей на new Date.

+0

, поэтому, я думаю, я должен форматировать дату с помощью php, прежде чем отправлять его как закодированный json? Или есть способ сделать это, используя jQuery/Javascript (я не очень много знаю о кодировании php) –

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