一个下午 3:40 下的订单,“创建日期”却显示为上午 9:40,这种 bug 会迅速侵蚀人们对系统的信任:不是因为它破坏了什么功能,而是每个页面上的每个时间戳都需要员工在脑子里换算一遍。
找到真正的偏差
偏差始终是六小时,恰好等于 UTC 与孟加拉国标准时间(UTC+6)之差,还没打开设置页面就已经是强烈的提示。WordPress 站点时区被设置为 UTC 而不是 Asia/Dhaka,这意味着平台生成或显示的每个时间戳,按 UTC 看在技术上都是对的,但对于按本地时间阅读的人来说都是错的。
只改一项设置,但有个问题值得先问清楚
修复本身只是在“设置 → 常规”中改一项。更有价值的问题是:是否需要同时做数据迁移,也就是现有订单保存的时间戳是否也要重写?对 WooCommerce 来说,答案是不需要:订单时间戳在内部以 UTC 存储,并在显示时转换为站点配置的时区,每次加载页面都会转换。修正站点设置后,所有现有订单显示的时间立即得到追溯性纠正,数据库中无需任何改动。
要点总结
- 固定整数小时的时间戳偏差,几乎总是指向时区配置错误而不是代码 bug;先把偏差与已知的 UTC 时差对照一下。
- 弄清平台是“以 UTC 存储、显示时转换”,还是存储已转换好的本地时间,就能立刻知道只改设置是否足够。
- 有时最小的修复反而最值得写下来:一项设置的改动,带来真实、可追溯、覆盖全店的影响。
相关阅读:缓存 TTL 导致的间歇性 403 错误、网站维护到底包括什么。
在您自己的 WooCommerce 或 WordPress 后台遇到类似限制?和我们聊聊:ArtinTech Solution 正是打造这类定制店铺工具的团队。