MySQL时间转换完全指南:从基础函数到实战应用
在MySQL中,时间转换主要通过内置的日期时间函数实现,核心方法是使用DATE_FORMAT()、STR_TO_DATE()、UNIX_TIMESTAMP()和FROM_UNIXTIME()等函数,灵活处理时间格式与时间戳的互转。
DATE_FORMAT()函数可将日期时间转换为指定格式的字符串,例如将2023-10-01 12:30:45转换为“2023年10月01日”:

SELECT DATE_FORMAT('2023-10-01 12:30:45', '%Y年%m月%d日');
STR_TO_DATE()函数用于将字符串解析为日期时间类型,适用于非标准格式的转换:
SELECT STR_TO_DATE('01-10-2023', '%d-%m-%Y');
对于时间戳操作,UNIX_TIMESTAMP()可将日期时间转为Unix时间戳(秒级),而FROM_UNIXTIME()则将时间戳还原为可读格式:
SELECT UNIX_TIMESTAMP('2023-10-01 12:30:45');
SELECT FROM_UNIXTIME(1696156245, '%Y-%m-%d %H:%i:%s');
时区转换可通过CONVERT_TZ()函数实现,例如将UTC时间转为北京时间:
SELECT CONVERT_TZ('2023-10-01 12:30:45', '+00:00', '+08:00');
注意事项:
- 确保原始数据格式与函数匹配,避免转换错误。
- 时间戳函数需注意秒与毫秒的区分(MySQL默认秒级)。
- 在涉及跨时区业务时,建议存储UTC时间,使用时按需转换。
通过组合这些函数,可高效完成MySQL中的时间格式化、解析与时区调整,满足数据分析、报表生成等场景需求。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/16026.html发布于:2026-09-10





