日期比较逻辑/在液体过滤器中
Date comparison Logic / in Liquid Filter
我正在尝试将预订日期增加 30 天,如果今天的日期更晚,则显示一个文本字符串,如果不是,则显示另一个文本字符串。我哪里出错了?
{% assign assign pre_date = 259200 | plus: order.created_at | date: '%s' %}
{% assign today_date = 'now' | date: '%s' %}
{% if pre_date > today_date %}
disply this
{% else %}
this
{% endif %}
date
过滤 returns 字符串,即使您使用 %s
获取秒数,因此 Shopify 可能会 运行 进入以下情况您正在比较看起来像数字的字符串而不是实际数字
要将您的变量强制转换为正确的数值,我发现最简单的做法是应用中性数学运算(| plus: 0
或 | times: 1
)
因此您的最终代码可能类似于:
{% assign pre_date = order.created_at | date: '%s' | plus: 259200 %}
{% assign today_date = 'now' | date: '%s' | times: 1 %}
{% if pre_date > today_date %}
Pre-date is greater
{% else %}
Today is the day
{% endif %}
我正在尝试将预订日期增加 30 天,如果今天的日期更晚,则显示一个文本字符串,如果不是,则显示另一个文本字符串。我哪里出错了?
{% assign assign pre_date = 259200 | plus: order.created_at | date: '%s' %}
{% assign today_date = 'now' | date: '%s' %}
{% if pre_date > today_date %}
disply this
{% else %}
this
{% endif %}
date
过滤 returns 字符串,即使您使用 %s
获取秒数,因此 Shopify 可能会 运行 进入以下情况您正在比较看起来像数字的字符串而不是实际数字
要将您的变量强制转换为正确的数值,我发现最简单的做法是应用中性数学运算(| plus: 0
或 | times: 1
)
因此您的最终代码可能类似于:
{% assign pre_date = order.created_at | date: '%s' | plus: 259200 %}
{% assign today_date = 'now' | date: '%s' | times: 1 %}
{% if pre_date > today_date %}
Pre-date is greater
{% else %}
Today is the day
{% endif %}