根本原因是mysql服务端时区默认为utc,而wordpress的php时区(如asia/shanghai)独立运行;需在mysql配置中设置default-time-zone='+08:00'并重启服务,再在wordpress后台保存时区设置以同步缓存。
phpmyadmin 里看到的 wordpress 时间戳(比如 post_date、created_at)和你本地系统时间对不上,根本原因不是 phpmyadmin “显示错了”,而是 mysql 服务端时区没设对,和 php/wordpress 的时区各自独立运行。
MySQL 服务端时区默认是 UTC,不是你的本地时区
绝大多数 Linux 环境下,MySQL 启动时读取系统时区(通常是 UTC),@@global.time_zone 返回 SYSTEM 或 +00:00。而 WordPress 后台设置的时区(如 Asia/Shanghai)只影响 PHP 层的时间生成和格式化,不改变 MySQL 存储或返回的值。
- 执行
SELECT NOW(), @@global.time_zone, @@session.time_zone;就能确认:如果前两者是+00:00,但你的 PHP 显示Asia/Shanghai,时间差 8 小时就是典型表现 -
NOW()、CURRENT_TIMESTAMP这些函数返回的是 MySQL 服务端当前时区的时间,不是 PHP 时区 - WordPress 插入文章时用的
current_time('mysql')本质也是调用 MySQL 的NOW(),所以它存进去的就是 UTC 时间(除非 MySQL 已配成 +08:00)
WordPress 数据库字段本身不带时区信息
MySQL 的 DATETIME 类型是“无时区”的——它只是按字面值存年月日时分秒,不做任何时区转换。这意味着:
- 你手动 INSERT
'2026-06-13 15:18:00',它就原样存进去,MySQL 不知道这是东八区还是西五区的时间 - WordPress 读取
post_date后,会用 PHP 的date_i18n()按当前timezone_string去解释这个字符串,但原始值本身没变 - 如果你在 phpMyAdmin 里直接编辑
post_date字段,填的是“看起来对”的时间(比如填2026-06-13 15:18:00),而 MySQL 实际时区是 UTC,那它其实代表的是北京时间 2026-06-13 15:18:00 对应的 UTC 时间(即 07:18),结果就错乱了
临时 SET time_zone 只对当前连接有效,且 phpMyAdmin 不自动做
很多人在 phpMyAdmin 的 SQL 窗口执行 SET time_zone = '+08:00';,发现 NOW() 看起来对了,就以为问题解决了。但这是假象:
- 该命令只影响当前会话(即你当前这个 SQL 标签页),关闭标签页或刷新页面就失效
- WordPress 应用本身(包括 wp-admin、REST API、cron)用 mysqli/PDO 连接数据库时,默认不会发这条命令
- phpMyAdmin 自身也不在每次连接后自动执行
SET time_zone—— 它只是把 PHP 和 MySQL 的时区值做个比对,然后弹出那个“时区不匹配”提示 - 即使你在 phpMyAdmin 里设了 session 时区,导出数据、批量更新、插件执行 SQL 时依然走默认时区
真正要改的是 MySQL 配置文件里的 default-time-zone
唯一可靠的方式,是让 MySQL 服务启动时就运行在目标时区(如 +08:00),而不是靠应用层临时打补丁。
- 编辑 MySQL 配置文件(常见路径:
/etc/mysql/my.cnf或/etc/my.cnf),在[mysqld]段落下加一行:default-time-zone = '+08:00' - Docker 用户可用
--env MYSQL_TIME_ZONE='+08:00'启动容器 - 改完必须重启 MySQL:
sudo systemctl restart mysql(或mariadb) - 验证是否生效:
SELECT @@global.time_zone;必须返回+08:00,不是SYSTEM - 注意:WordPress 数据库里已有的
DATETIME值不会自动重写,它们仍是旧时区下的字面值;后续新增/更新才按新时区处理
最常被忽略的一点:改完 MySQL 配置后,你得去 WordPress 后台「设置 → 常规」里再点一次「保存更改」——否则 WP 缓存可能仍用旧的 timezone_string 值去格式化那些已有时间戳,导致前台显示还是不对。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











