You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shopify Liquid中基于多条件设置配送日期?

订单预计配送日期计算修复方案

问题分析

原代码核心问题在于逻辑判断漏洞与流程混淆,导致日期计算不符合预期:

  1. 第一个if语句的逻辑表达式错误,day_of_week != "6" or day_of_week != "7" 永远为真,使得截止时间判断完全失效
  2. 未明确拆分「发货日期计算」与「配送日期计算」两个核心流程,逻辑混乱
  3. 周末日期调整规则重复且矛盾

修正后的代码

{% assign current_time = "2023-04-14 13:30:00" | date: "%s" %}
{% assign cutoff_hour = 13 %}
{% assign current_date_str = current_time | date: "%Y-%m-%d" %}

{% comment %} 第一步:计算发货日期 {% endcomment %}
{% assign ship_date = current_time %}
{% if current_time > current_date_str | append: " " | append: cutoff_hour | append: ":00:00" | date: "%s" %}
  {% comment %} 超过当天截止时间,延后1天 {% endcomment %}
  {% assign ship_date = ship_date | plus: 86400 %}
{% endif %}

{% comment %} 调整发货日期至下一个工作日(周一至周五) {% endcomment %}
{% assign ship_day = ship_date | date: "%u" %}
{% if ship_day == "6" %}
  {% comment %} 周六,延后2天到周一 {% endcomment %}
  {% assign ship_date = ship_date | plus: 172800 %}
{% elsif ship_day == "7" %}
  {% comment %} 周日,延后1天到周一 {% endcomment %}
  {% assign ship_date = ship_date | plus: 86400 %}
{% endif %}

{% comment %} 第二步:从发货日期计算配送日期(此处为发货后1天配送,可按需修改时长) {% endcomment %}
{% assign delivery_date = ship_date | plus: 86400 %}
{% assign delivery_day = delivery_date | date: "%u" %}

{% comment %} 确保配送日期不为周日 {% endcomment %}
{% if delivery_day == "7" %}
  {% assign delivery_date = delivery_date | plus: 86400 %}
{% endif %}

{% assign delivery_date_formatted = delivery_date | date: "%A, %B %d" %}

<div>
  <span style="margin-right:10px; float:left;" fill="none">{% include 'del-box' %}</span>
  <span style="margin:0px; overflow:hidden; display:block;">Delivered by <b>{{ delivery_date_formatted }}</b></span>
</div>

关键修正说明

  • 拆分「发货」「配送」两个独立计算流程,逻辑更清晰易维护
  • 修复截止时间判断逻辑,仅在周一至周五超过13点时延后发货
  • 明确周末发货规则:周六/周日的订单自动延后至下周一发货
  • 确保配送日期避开周日,符合「周一至周六配送」的要求
  • 预留配送时长调整点(plus: 86400代表发货后1天配送,可根据实际业务修改)

内容的提问来源于stack exchange,提问作者SDZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 09:05:31