用于检查日期是否没有时间组件的液体模板逻辑?字符串比较失败



我试图让一个 Liquid 条件仅在page.date有定义的时间时才运行。

假设page.date是"2019-07-17 00:00:00 -0700"。

我发现 12 小时 (%r) 时间默认是凌晨 12 点,所以我尝试了这个技巧(我不太担心用户实际上将时间设置为 12:00:00 尖锐,导致误报):

{% if page.date | date: "%r" != "12:00:00 AM" %}
<p>The page's date has a time.</p>
{% else %}
<p>The page's date has no time.</p>

上面的块输出"页面的日期有时间",根据我的条件,这是不正确的(12am ="没有时间")。

我还尝试了以下方法,在date格式化程序的右侧有和没有| json管道:

  • {% if page.date | date: "%T" != "00:00:00" %}

  • {% if page.date | date: "%R" != "00:00" %}

将所有这些格式呈现到页面会验证我在这些条件中输入的值,但我的字符串比较仍然不正确。有没有办法在液体中做到这一点?

不能在条件中进行筛选。{% if page.date | date: "%r" != "12:00:00 AM" %}产生错误。

您可以assign,然后compare

{% assign time = page.date | date: "%r" %}
{% if time != "12:00:00 AM" %}
<p>The page's date has a time.</p>
{% else %}
<p>The page's date has no time.</p>
{% endif %}

相关内容

  • 没有找到相关文章

最新更新