Как преобразовать временную метку в datetime в MySQL?

Как преобразовать 1300464000 в 2011-03-18 16:00:00 в MySQL?

Ответы

Ответ 1

Используйте FROM_UNIXTIME() в MySQL

Помните, что если вы используете фреймворк, который хранит его в миллисекундах (например, временную метку Java), вы можете делиться на 1000, чтобы получить правильное время Unix в секундах.

Ответ 2

DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y') as "Date" FROM `orders`

Это окончательное решение, если данная дата находится в кодированном формате, например 1300464000

Ответ 3

Чтобы ответить на комментарий Януса Троельсена

Используйте UNIX_TIMESTAMP вместо TIMESTAMP

SELECT from_unixtime( UNIX_TIMESTAMP(  "2011-12-01 22:01:23.048" ) )

Функция TIMESTAMP возвращает Date или DateTime, а не временную метку, тогда как UNIX_TIMESTAMP возвращает временную метку unix

Ответ 4

SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
Эта работа для меня