Преобразует метку времени Unix в человекопонятную дату с использованием MySQL



есть ли функция MySQL, которая может быть использована для преобразования временной метки Unix в читаемую человеком дату? У меня есть одно поле, где я сохраняю Unix раз, и теперь я хочу добавить еще одно поле для удобочитаемых дат.

758   7  

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.

зачем сохранять поле как читаемое? Только мы AS

SELECT theTimeStamp, FROM_UNIXTIME(theTimeStamp) AS readableDate FROM theTable WHERE theTable.theField = theValue;

EDIT: Извините, мы храним все в миллисекундах, а не секундах. Исправить это.

вы можете использовать функцию DATE_FORMAT. здесьЭто страница с примерами и шаблонами, которые можно использовать для выбора различных компонентов даты.

легкий и простой способ:

select from_unixtime(column_name, '%Y-%m-%d') from table_name

Comments

    Ничего не найдено.