📅  最后修改于: 2023-12-03 14:44:29.822000             🧑  作者: Mango
在MySQL中,通常情况下会使用时间戳来操作时间相关的数据。而有时候我们需要将时间戳转换成可读的日期格式,以便于数据展示或者分析。本文将介绍如何使用MySQL来将时间戳转换成日期格式。
MySQL提供了FROM_UNIXTIME()函数来将Unix时间戳转换成可读的日期格式。该函数的语法如下:
FROM_UNIXTIME(unix_timestamp[,format])
其中,unix_timestamp
表示Unix时间戳值,可以是数字或者数据库中的字段名。format
是一个可选参数,用于指定日期格式,默认值为'%Y-%m-%d %H:%i:%s'
。
以下是一个将Unix时间戳转换成日期的示例:
SELECT FROM_UNIXTIME(1533747568);
-- 输出结果:2018-08-08 10:19:28
通过FROM_UNIXTIME()函数,我们可以将时间戳转换成默认的日期格式,也可以通过format
参数来指定自定义的日期格式。以下是一些常用的日期格式化参数:
| 参数 | 说明 | | --- | --- | | %Y | 年份,4位 | | %y | 年份,2位 | | %m | 月份,数字形式 | | %b | 月份,英文缩写 | | %M | 月份,英文全称 | | %d | 日,数字形式 | | %j | 日,0填充的数字形式 | | %H | 小时,24小时制 | | %h | 小时,12小时制 | | %i | 分钟 | | %s | 秒 |
以下是一个将Unix时间戳按照指定格式转换成日期的示例:
SELECT FROM_UNIXTIME(1533747568,'%Y年%m月%d日 %H时%i分%s秒');
-- 输出结果:2018年08月08日 10时19分28秒
以下示例演示如何使用MySQL将时间戳转换为日期:
-- 创建测试表格
CREATE TABLE `timestamp_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`timestamp` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入测试数据
INSERT INTO `timestamp_test`(`timestamp`) VALUES (1533747568),(1533750000);
-- 将时间戳转换为日期
SELECT id, FROM_UNIXTIME(timestamp,'%Y/%m/%d %H:%i:%s') as date FROM timestamp_test;
输出结果如下:
| id | date | | --- | --- | | 1 | 2018/08/08 10:19:28 | | 2 | 2018/08/08 11:00:00 |
在MySQL中,通过FROM_UNIXTIME()函数,我们可以将Unix时间戳转换成可读的日期格式并进行格式化。这在大多数情况下都可以满足数据展示和分析的要求。