mysql如何将时间戳转成日期

MySQL如何将时间戳转成日期

MySQL中经常需要将时间戳(timestamp)转换成日期格式。在数据库中,时间戳是以秒为单位计算的自1970年1月1日起的秒数。在应用程序中,日期格式更常用于展现。本篇文章将介绍MySQL中将时间戳转换成日期格式的方法。

1. 使用FROM_UNIXTIME

MySQL提供了一个很好的内置函数FROM_UNIXTIME,它可以将Unix时间戳转换成日期格式。该函数的语法如下:

SELECT FROM_UNIXTIME(timestamp, format)

其中,timestamp为Unix时间戳,format为日期格式,默认为'%Y-%m-%d %H:%i:%s',分别代表年、月、日、时、分、秒。例如:

SELECT FROM_UNIXTIME(1613548533, '%Y-%m-%d %H:%i:%s')

返回值为2021-02-17 22:08:53。

使用示例

使用FROM_UNIXTIME函数转换时间戳

假设有以下一个表:

CREATE TABLE record (

id INT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(20) NOT NULL,

timestamp BIGINT(20)

);

表中有三列,分别为id、name和timestamp,timestamp存储了Unix时间戳。我们可以通过以下方式将时间戳转换成日期格式:

SELECT id, name, FROM_UNIXTIME(timestamp, '%Y-%m-%d %H:%i:%s') AS date

FROM record;

该语句将返回如下结果:

+----+--------+---------------------+

| id | name | date |

+----+--------+---------------------+

| 1 | Record1| 2021-02-17 22:08:53 |

| 2 | Record2| 2021-02-17 22:12:33 |

| 3 | Record3| 2021-02-17 23:02:11 |

+----+--------+---------------------+

2. 使用DATE_FORMAT

DATE_FORMAT是MySQL中另一个用于日期格式化的内置函数。它可以将DATE或DATETIME类型的日期格式化成字符串。也可以使用它将时间戳转换成字符串。该函数的基本语法如下:

DATE_FORMAT(date[,format])

其中,date为日期或时间戳,format为日期格式。对于时间戳,我们需要先将它转换成DATE或DATETIME类型。而DATE或DATETIME类型的日期格式我们可以通过FROM_UNIXTIME函数转换得到。例如:

SELECT DATE_FORMAT(FROM_UNIXTIME(1613548533), '%Y-%m-%d %H:%i:%s');

返回值同上,为2021-02-17 22:08:53。

使用示例

使用DATE_FORMAT函数转换时间戳

下面是使用DATE_FORMAT函数将时间戳转换成日期格式的示例:

SELECT id, name, DATE_FORMAT(FROM_UNIXTIME(timestamp), '%Y-%m-%d %H:%i:%s') AS date

FROM record;

返回结果同上。

小结

本篇文章介绍了MySQL中将Unix时间戳转换成日期格式的两种方法:使用FROM_UNIXTIME和DATE_FORMAT函数。无论哪种方法,都需要先将时间戳转换成日期格式,然后再按照所需的日期格式进行格式化。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签