MySQL时间转换完全指南:从基础函数到实战应用
在MySQL中,时间转换主要通过内置的日期时间函数实现,核心方法是使用DATE_FORMAT()STR_TO_DATE()UNIX_TIMESTAMP()FROM_UNIXTIME()等函数,灵活处理时间格式与时间戳的互转。

DATE_FORMAT()函数可将日期时间转换为指定格式的字符串,例如将2023-10-01 12:30:45转换为“2023年10月01日”:

mysql 如何时间转换,高效实现MySQL时间转换

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');

注意事项

  1. 确保原始数据格式与函数匹配,避免转换错误。
  2. 时间戳函数需注意秒与毫秒的区分(MySQL默认秒级)。
  3. 在涉及跨时区业务时,建议存储UTC时间,使用时按需转换。

通过组合这些函数,可高效完成MySQL中的时间格式化、解析与时区调整,满足数据分析、报表生成等场景需求。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/16026.html发布于:2026-09-10