使用MySQL将Unix时间戳转换为人类可读的date

有没有一个MySQL函数可以用来将Unix时间戳转换为人类可读的date? 我有一个领域,我保存Unix时间,现在我想添加另一个领域的人类可读date。

使用from_unixtime :

SELECT from_unixtime(timestamp) FROM your_table 

其他答案中缺less的东西(截至撰写本文时)并不直接显而易见的是, from_unixtime也可以采用格式参数,例如:

 SELECT from_unixtime(timestamp, '%Y %D %M %h:%i:%s') FROM your_table 

我想你要找的是FROM_UNIXTIME()

在特定的时区需要一个unix时间戳?

如果你有快速的访问mysql cli的话,这里是一行一行:

 mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time'; +---------------------+ | local time | +---------------------+ | 2016-06-27 23:37:31 | +---------------------+ 

用你想要的时区replace'MST' 。 我住在亚利桑那州,因此从UTC转换到MST。

为什么要把字段保存为可读? 就我们而言

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

编辑:对不起,我们存储在毫秒中的一切,而不是几秒钟。 修复。

您可以使用DATE_FORMATfunction。 这里是一个包含示例的页面,以及可用于select不同date组件的模式。