Ответ 1
Используйте FROM_UNIXTIME()
в MySQL
Помните, что если вы используете фреймворк, который хранит его в миллисекундах (например, временную метку Java), вы можете делиться на 1000, чтобы получить правильное время Unix в секундах.
Как преобразовать 1300464000
в 2011-03-18 16:00:00
в MySQL?
Используйте FROM_UNIXTIME()
в MySQL
Помните, что если вы используете фреймворк, который хранит его в миллисекундах (например, временную метку Java), вы можете делиться на 1000, чтобы получить правильное время Unix в секундах.
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y') as "Date" FROM `orders`
Это окончательное решение, если данная дата находится в кодированном формате, например 1300464000
Чтобы ответить на комментарий Януса Троельсена
Используйте UNIX_TIMESTAMP вместо TIMESTAMP
SELECT from_unixtime( UNIX_TIMESTAMP( "2011-12-01 22:01:23.048" ) )
Функция TIMESTAMP возвращает Date или DateTime, а не временную метку, тогда как UNIX_TIMESTAMP возвращает временную метку unix
SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
Эта работа для меня