Преобразует метку времени Unix в человекопонятную дату с использованием MySQL
есть ли функция MySQL, которая может быть использована для преобразования временной метки Unix в читаемую человеком дату? У меня есть одно поле, где я сохраняю Unix раз, и теперь я хочу добавить еще одно поле для удобочитаемых дат.
7 ответов:
использовать from_unixtime:
SELECT from_unixtime(timestamp) FROM your_table
то, что отсутствует в других ответах (на момент написания этой статьи), а не прямо очевидно, это
from_unixtimeтакже может принимать параметр формата, например:SELECT from_unixtime(timestamp, '%Y %D %M %h:%i:%s') FROM your_table
Я думаю, что вы ищете -
FROM_UNIXTIME()
нужна метка времени unix в определенном часовом поясе?
вот один лайнер, если у вас есть быстрый доступ к MySQL командной строки:
mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time'; +---------------------+ | local time | +---------------------+ | 2016-06-27 23:37:31 | +---------------------+заменить
'MST'С нужный часовой пояс. Я живу в Аризоне, таким образом, преобразование из UTC в MST.
зачем сохранять поле как читаемое? Только мы
ASSELECT theTimeStamp, FROM_UNIXTIME(theTimeStamp) AS readableDate FROM theTable WHERE theTable.theField = theValue;EDIT: Извините, мы храним все в миллисекундах, а не секундах. Исправить это.
вы можете использовать функцию DATE_FORMAT. здесьЭто страница с примерами и шаблонами, которые можно использовать для выбора различных компонентов даты.
Comments