UNIX Отметка времени и MYSQL - PullRequest
1 голос
/ 16 августа 2011

Я сохраняю дату ввода в mysql через TIMESTAMP и значение по умолчанию UNIX_TIMESTAMP, однако, когда я возвращаю его обратно, это 2011-08-16 11:43:52, и если я пытаюсь стилизовать его с помощью

<?= date('F j, o', $a['time']) ?>

Это просто делает отметку времени с нуля, возвращая 31 декабря 1970

Почему?И как я могу это исправить?

Ответы [ 3 ]

4 голосов
/ 16 августа 2011

Использовать

SELECT UNIX_TIMESTAMP(field)

Когда UNIX_TIMESTAMP() используется для столбца TIMESTAMP, функция возвращает внутреннее значение временной метки напрямую, без неявного преобразования «строка-в-Unix-метку времени».

Ручная

1 голос
/ 16 августа 2011

Столбец MySQL TIMSTAMP сохраняется как YYYY-MM-DD HH-MM-SS, даже если вы введете UNIX_TIMESTAMP, он все равно будет сохранен в этом формате.

Итак, что вы можете сделать:

<?= date('F j, o', strtotime($a['time'])) ?>

Демо: http://codepad.org/jBLR2KpH

0 голосов
/ 16 августа 2011

date() принимает число, а не строку.MySQL всегда возвращает вашу дату в виде строки независимо от ее внутреннего представления.Попробуйте это:

<?php echo date("F j, o", strtotime($a['time']); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...