Существует ли функция MySQL, которую можно использовать для преобразования метки времени Unix в удобочитаемую дату? У меня есть одно поле, где я сохраняю время Unix, и теперь я хочу добавить другое поле для удобочитаемых дат.
mysql
unix-timestamp
Король жюльен
источник
источник
Ответы:
Используйте
FROM_UNIXTIME()
:Смотрите также: документация по MySQL
FROM_UNIXTIME()
.источник
from_unixtime
: dev.mysql.com/doc/refman/5.1/en/…TO_UNIXTIME
, но вместо этогоUNIX_TIMESTAMP
.Чего не хватает в других ответах (на момент написания этой статьи) и что не очевидно, так это в том, что
from_unixtime
для определения формата может потребоваться второй параметр:источник
Я думаю, что вы ищете
FROM_UNIXTIME()
источник
Нужна метка времени Unix в определенном часовом поясе?
Вот один вкладыш, если у вас есть быстрый доступ к MySQL Cli:
Замените
'MST'
на желаемый часовой пояс. Я живу в Аризоне, таким образом, преобразование из UTC в MST.источник
Зачем сохранять поле как читабельное? Только мы
AS
РЕДАКТИРОВАТЬ: Извините, мы храним все в миллисекундах, а не секундах. Починил это.
источник
Вы можете использовать функцию DATE_FORMAT. Вот страница с примерами и шаблонами, которые вы можете использовать для выбора различных компонентов даты.
источник
Простой и простой способ:
select from_unixtime(column_name, '%Y-%m-%d') from table_name
источник
Так как я обнаружил, что этот вопрос не знает, что mysql всегда сохраняет время в полях меток времени в UTC, но будет отображать (например, phpmyadmin) в местном часовом поясе, я хотел бы добавить свои выводы.
У меня есть автоматически обновляемое поле last_modified, определенное как:
Глядя на это с помощью phpmyadmin, похоже, что это по местному времени, внутри UTC
В любом созвездии UNIX_TIMESTAMP и «как UTC» всегда отображаются во времени UTC.
Запустите это дважды, сначала без установки часового пояса.
источник