我正试图让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 =“ no time”)。
我还尝试了以下操作,在| json
格式化程序的右侧有无date
管道:
{% if page.date | date: "%T" != "00:00:00" %}
{% if page.date | date: "%R" != "00:00" %}
将所有这些格式呈现到页面可以验证我在这些条件中输入的值,但是我的字符串比较仍然不正确。在Liquid中有没有办法做到这一点?
答案 0 :(得分:1)
您无法过滤条件。 {% 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 %}