5
votes

I am new to Shopify and .liquid files syntax.

I can get two dates currently:

{% assign product_created_date = product.created_at | date: "%a, %b %d, %y" %}
{% assign current_date = 'now' | date: "%a, %b %d, %y" %}

which gives me the current date and also the date when the product was created.

I want to show the users in the theme, the date since the product was posted.

I've read some liquid filters and did some search but couldn't find out exactly how I would find the days since product was created.

Can we calculate it using purely liquid syntax?

2

2 Answers

20
votes

You can transform your dates to timestamps representing Number of seconds since 1970-01-01 00:00:00 UTC

{% comment %} convert our dates to Number of seconds 
              since 1970-01-01 00:00:00 UTC {% endcomment %}
{% assign dateStart = product.created_at | date: '%s' %}
{% assign nowTimestamp = 'now' | date: '%s' %}

{% comment %} difference in seconds {% endcomment %}
{% assign diffSeconds = nowTimestamp | minus: dateStart %}

{% comment %} difference in days {% endcomment %}
{% assign diffDays = diffSeconds | divided_by: 3600 | divided_by: 24 %}

<p>difference in days = {{ diffDays }}</p>
3
votes

Derived with the help of David's Answer one line snippet - consider any date, for eg. '2020-04-09'

{% assign myVar="now" | date: "%s" %}{{ '2020-04-09' | date: "%s" | minus: myVar | divided_by: 3600 | divided_by: 24 | round }}

You can run and Test it here