30 ноября -0001 вернулся на отметку времени - PullRequest
1 голос
/ 21 октября 2011

Прежде чем кто-нибудь это скажет, я проверил другие вопросы, подобные этому, но безрезультатно.По сути, я беру временную метку из моей БД и отображаю ее, вот код для поиска:

while($row = mysql_fetch_array($result)) {
    $timestamp = date("l F d Y", strtotime($row['timestamp']));
}

А вот код для отправки:

$sql = "INSERT INTO mysql_table (timestamp) VALUES (now())";

Я думал, что это будет простая ошибка форматирования (таким образом strtotime), но это не сработало, как вы можете видеть: http://aviatex14.co.uk/anonpost/index.php

Я могу изменить его на:

$date = date("l F d Y", $row['timestamp']);

иполучите 31 декабря 1969 года, но это тоже не страшно ..

О, мой тип данных столбца - datetime.

Любая помощь будет принята с благодарностью!:)

Ответы [ 3 ]

5 голосов
/ 21 октября 2011

Вы должны поставить обратную галочку вокруг слова timestamp, так как это зарезервированное слово.

 "INSERT INTO mysql_table (`timestamp`) VALUES (now())";
1 голос
/ 21 октября 2011

Если вы собираетесь заняться форматированием даты в PHP, просто извлеките UNIX_TIMESTAMP из MySQL, который непосредственно можно использовать как временную метку PHP:

SELECT UNIX_TIMESTAMP(`timestamp`) FROM  ...

Ваш date(... $row['timestamp']) завершится неудачно, потому чтофункция date () ожидает значение TIME VALUE, которое является просто отметкой времени Unix - вы передаете строковое представление даты, которая конвертируется в 0, скорее всего, это январь 1/1970 00:00, а затем с учетом часовых поясов, так что вместо этого вы получите 31 декабря 69.

0 голосов
/ 21 октября 2011

Проблема в том, что php использует UNIX_TIMESTAMP, который не совпадает с форматом даты и времени MySQL.

Либо сделать

SELECT date_format(`timestamp`,aformatstring, see link) as formateddate_as_string

Или сделать

SELECT UNIX_TIMESTAMP(`timestamp`) as php_friendly_timestamp 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...