timestamp не показывает правильную дату


Я работаю в CMS, чтобы display, статей, моя проблема заключается в функции strtotime() не показывает правильную дату, указывает всегда на 01 марта 1970 года. A row (phpMyAdmin) от article_timestamp дано формат: ex. 1394220287. Что я делаю не так?

<span id="date">Publicado  
<?php
    setlocale(LC_ALL, NULL);
    date_default_timezone_set('Europe/Lisbon');
    $timeStamp = $article['article_timestamp'];
    $uppercaseMonth = ucfirst(gmstrftime('%B'));
    echo strftime( '%A, %d de ' .$uppercaseMonth. ' de %Y', strtotime($timeStamp));
?></span>
 4
Author: brasofilo, 2014-03-09

3 answers

Примером, что вернулся к вопросу, я вижу, что $timeStamp уже timestamp, так что вам не нужно strtotime().

Используется только в одном:

echo strftime( '%A, %d de ' .$uppercaseMonth. ' de %Y', $timeStamp);
//                                                     ^^ - tirei o strtotime()

Например, в PHP Fiddle

 4
Author: Sergio, 2014-03-09 11:34:00

, Если формат даты прошлой strtotime() " не является допустимым функция возвращает false. Используйте DateTime::createFromFormat() для преобразования даты в timestamp:

DateTime::createFromFormat('Y-m-d H:i:s', '2014-01-01 12:00:00');
 0
Author: Wynn, 2014-03-09 10:49:09

Вы можете принести дата/время правильное MySQL, используя функцию FROM_UNIXTIME()

SELECT
  FROM_UNIXTIME(article_timestamp, '%W, %d de %M de %Y %h:%i:%s') 
FROM 
  sua_tabela
 0
Author: vmartins, 2014-03-13 23:32:44