提取字符串并与日期进行比较

时间:2016-09-29 17:04:00

标签: shopify liquid appboy

我有一个字符串“products_2016-05-09”,其中2016-05-09是字符串中附加的日期。我想提取这个日期。如果日期是负1天我想显示字符串“产品”。我怎么能用液体语法做到这一点?

2 个答案:

答案 0 :(得分:0)

要从string中提取日期,请使用removesplit过滤器:

{% assign pdate = string | remove: "products_" %}
{% assign pdate = pdate | split: '-' %}

要检查产品日期(pdate)是否在24小时(86400秒)内,请使用以下内容:

{% assign today = "now" | date: "%s" %}
{% assign yesterday =  today | minus: 86400 %}

{% if pdate[0] == yesterday | date: "%Y" and pdate[1] == yesterday | date: "%m" and pdate[2] == yesterday | date: "%d" %}
  Display string "products"
{% endif %}

注意:这只检查产品日期昨天(从现在起24小时前)以获得更准确的时间验证,您需要做更多的算术验证。您也可以使用 JavaScript 在前端完成所有这些操作。

答案 1 :(得分:0)

以下代码对我有用:

{% assign var =  {{custom_attribute.${producttype}}} %}

{% assign words = var | split: '_' %}

{% assign yestDate = 'now' | date: "%s" | minus: 86400 | date: "%F" %}

{% assign varDate = words[1] %}

{% if varDate | convert: "date"  == yestDate %}
Dynamic String {{words[0]}}
{% else %}
sorry!
{% endif %}