Adding/substracting days in Shopify's Liquid template language
snippet.liquid
{% assign days = 4 %}
{% assign ms = days | times: 24 | times: 60 | times: 60 %}
{% assign now = 'now' | date: "%s" %}
{% assign today = now | date: "%b %d" %}
{% assign before = now | minus: ms |date: "%b %d" %}
{% assign after = now | plus: ms | date: "%b %d" %}
<div>Today: {{ today }}</div>
<div>{{days}} days before today: {{ before }}</div>
<div>{{days}} days after today: {{ after }}</div>
Result:
<!-- HTML -->
Today: Aug 29 4 days before today: Aug 25 4 days after today: Sep 02
Explaination:
- First convert
now
to seconds since 1970 with filter| date: "%s"
. - Convert
days
range to secondsx 24 x 60 x 60
- Use filters
| minus
or| plus
to get the result and parse back to date format withdate: "%b %d"
filter
The format for Liquid date is the same as strftime