it-swarm.com.ru

Как конвертировать метку времени в дату и время в MySQL?

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

95
compile-fan

Используйте функцию FROM_UNIXTIME() в MySQL

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

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

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

51
Kingshuk Deb

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

Используйте UNIX_TIMESTAMP вместо ОТМЕТКА ВРЕМЕНИ

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

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

7
ksvendsen

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

4
Leo

Ты можешь использовать 

select from_unixtime(1300464000,"%Y-%m-%d %h %i %s") from table;

Для детального описания о

  1. from_unixtime ()
  2. unix_timestamp ()
0
user2613580