我试图让一个 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 %}