mysql安装后调整时间格式是数据库运维和开发中常见的需求,不同的业务场景对时间展示的要求存在差异,需要针对性选择调整方式。

全局时间格式调整方法
如果需要让所有查询的时间输出都遵循统一的格式,可以修改mysql的全局配置文件,这种方式修改后重启服务即可全局生效。
修改配置文件步骤
首先找到mysql的配置文件,Linux系统一般在/etc/my.cnf或者/etc/mysql/my.cnf路径下,Windows系统一般在mysql安装目录的my.ini文件中。在[mysqld]配置段下添加以下配置:
[mysqld] # 设置默认时间格式为年月日 时分秒 datetime_format = %Y-%m-%d %H:%i:%s # 设置日期格式为年月日 date_format = %Y-%m-%d
修改完成后重启mysql服务,Linux系统执行systemctl restart mysqld命令,Windows系统在服务管理面板中重启mysql服务即可。
查询时临时调整时间格式
如果仅需要在某次查询中调整时间格式,不需要修改全局配置,可以使用mysql内置的DATE_FORMAT()函数实现。
DATE_FORMAT函数用法
该函数的语法为DATE_FORMAT(date, format),第一个参数是时间字段,第二个参数是目标格式的字符串,常用的格式占位符如下:
- %Y:四位年份
- %m:两位月份,不足两位补0
- %d:两位日期,不足两位补0
- %H:24小时制的小时,不足两位补0
- %i:分钟,不足两位补0
- %s:秒,不足两位补0
示例代码如下:
-- 查询用户表,将创建时间调整为 年/月/日 格式 SELECT id, username, DATE_FORMAT(create_time, '%Y/%m/%d') AS format_time FROM user_table; -- 查询订单表,将支付时间调整为 年月日 时分秒 格式 SELECT order_id, DATE_FORMAT(pay_time, '%Y年%m月%d日 %H:%i:%s') AS pay_time_format FROM order_table;
时区相关问题导致的时间格式偏差调整
有时候时间格式看起来异常是因为时区配置错误,导致时间显示和预期不符,这种情况需要调整mysql的时区配置。
临时调整时区
可以在mysql命令行中执行以下语句临时修改时区,仅对当前会话生效:
-- 设置为东八区时区 SET time_zone = '+8:00'; -- 查看当前时区配置 SELECT @@time_zone;
永久调整时区
如果需要永久生效,同样修改mysql配置文件,在[mysqld]段下添加:
[mysqld] default-time-zone = '+8:00'
重启服务后即可永久生效,避免时间因为时区问题出现偏差。
不同时间类型的格式调整注意事项
mysql中常见的时间类型有DATE、DATETIME、TIMESTAMP,调整格式时需要注意类型匹配:
- DATE类型仅存储年月日,格式调整时不需要添加时分秒相关的占位符
- DATETIME和TIMESTAMP存储年月日时分秒,调整格式时可以按需选择展示的精度
- TIMESTAMP类型会受时区影响,调整格式前建议先确认时区配置正确
如果遇到时间格式调整不生效的情况,可以先检查配置是否重启生效,或者查询语句中的函数使用是否正确,排查问题后再做对应调整。
mysql时间格式date_formatdatetime时区设置修改时间:2026-07-18 06:45:20