MySQL 如何将MySQL表中存储的时期(epoch)转换为可读日期

MySQL 如何将MySQL表中存储的时期(epoch)转换为可读日期

在MySQL中,我们常常会将日期存储为epoch值。秒是自1970年1月1日00:00:00 GMT以来的整数计数。虽然存储epoch格式方便,但是在实际应用中,我们经常需要将其转换为可读的日期格式。

下面将介绍如何将MySQL表中存储的时期(epoch)转换为可读日期。

阅读更多:MySQL 教程

准备工作

在代码实现中,我们需要用到MySQL的UNIX_TIMESTAMP()函数将日期转换为epoch值,以及FROM_UNIXTIME()函数将epoch值转换为可读日期格式。

示例代码

以下是一个表格的简单示例,它包含了一个epoch时间戳和一个日期:

CREATE TABLE `test_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `epoch` int(11) NOT NULL,
  `date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `test_table` (`epoch`, `date`) VALUES (1628805644, '2021-08-13');

要将epoch值转换为可读日期格式,我们可以使用FROM_UNIXTIME()函数:

SELECT FROM_UNIXTIME(`epoch`) AS `date` FROM `test_table`;

执行此查询后,我们将会得到如下结果:

+---------------------+
| date                |
+---------------------+
| 2021-08-13 09:34:04 |
+---------------------+

我们也可以将FROM_UNIXTIME()函数与其他SQL函数一起使用。例如,要选择所有尚未过去的日期:

SELECT * FROM `test_table` WHERE `date` > FROM_UNIXTIME(`epoch`);

此查询将选择只有2021年8月13日以后的行。

另外,我们也可以将FROM_UNIXTIME()函数与DATE_FORMAT()函数一起使用,以控制输出日期的格式:

SELECT DATE_FORMAT(FROM_UNIXTIME(`epoch`), '%m/%d/%Y %h:%i %p') AS `date` FROM `test_table`;

执行此查询后,我们将得到如下结果:

+---------------------+
| date                |
+---------------------+
| 08/13/2021 09:34 AM |
+---------------------+

结论

使用MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数,将存储在epoch格式中的日期转换为易于阅读的日期格式非常容易。我们可以使用FROM_UNIXTIME()函数将epoch值转换为日期,并将结果格式化为所需的格式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程