如何在 MySQL 中将时间戳转换为日期时间?

如何在 MySQL 中将 1300464000转换为 2011-03-18 16:00:00

298163 次浏览

使用 MySQL 中的 强 > FROM_UNIXTIME()函数

请记住,如果您使用的框架以毫秒为单位存储它(例如 Java 的时间戳) ,那么您可以使用 除以1000以秒为单位获得正确的 Unix 时间。

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

如果给定的日期是像 1300464000这样的编码格式,那么这就是最终的解决方案

回答 Janus Troelsen 的评论

使用 UNIX _ 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"
这对我有用

你可以用

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

有关

  1. From _ unixtime ()
  2. Unix _ time戳()