每日整理真实提问 356 个问题 · 726 个回答 需要系统性的技术文档?看 Shopify 技术百科 1000 篇 → 400-873-8117
待解决 提问于 3 个月前

订单时间在前台显示差一天

2 个回答 393 次浏览 主题与 Liquid 最后活跃 2 个月前
83

订单详情里下单时间显示 2026-11-03,但客户实际是 11-04 早上下的单,差了整整一天。

L
Lily提问者
DTC 品牌独立站运营负责人
3 个月前提问 · 已收到 2 个回答

2 个回答

最高票回答 · 等待提问者确认
60

先把判断放在前面:Liquid 拿到的 created_at 是 UTC 时间,date 过滤器默认按 UTC 格式化,不传时区就会整体前移。

1处理顺序

  1. 用 {{ order.created_at | date: '%Y-%m-%d %H:%M', 'Asia/Shanghai' }} 显式指定时区。
  2. 前端 JS 渲染的地方用 new Date(str).toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' }),两边保持同一时区。
  3. 后台「设置 → 商店详情 → 时区」要与业务时区一致,订单报表按后台时区统计。
  4. 跨市场展示时,按客户所在市场给时区,不要统一写死北京时间。
  5. 验收时用一笔刚下的测试单核对前台、后台、邮件通知三处时间是否一致。
验收:前台显示的时间与后台订单详情一致,且与客户本地时间对得上。
风 风格技术团队 回答于 3 个月前
21

注意 date 过滤器只影响展示,不影响排序和筛选;如果按天做统计,要在同一个时区下截断,否则跨时区的订单会分到错误的日期。

陈 陈工 · Shopify 认证开发者 · 2 个月前

你的处理方式是什么?

写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。

描述你遇到的现象、店铺环境(主题 / 套餐 / 应用)、已经试过哪些操作……
我要单独提问 工作日 10 分钟内回复,可直接加微信 fenggejishu