{#  Check which version of Pelican user is using.
If it is <=3.3  than modified is a string
If it is >3.3 than modified is a datetime object
#}
{% if article.locale_modified and article.modified %}

    {#  This check is necessary because modified is set to date by default.
    It should be displayed only if user has explicitly set it.
    #}
    {% if article.modified != article.date %}

<h4>Last Updated</h4>
{% set day = article.modified.strftime('%d')|int %}
<time datetime="{{ article.modified.isoformat() }}">{{ article.modified.strftime('%b') }} {{ day }} {{- article.modified.strftime(', %Y') }}</time>

    {% endif %}

{% elif article.modified %}

<h4>Last Updated</h4>
<div class="last-updated">{{ article.modified }}</div>

{% endif %}


{#  Check which version of Pelican user is using.
If it is <=3.3  than modified is a string
If it is >3.3 than modified is a datetime object
#}
{% if article.locale_modified and article.modified %}

<h4>Last Updated</h4>
{% set day = article.modified.strftime('%d')|int %}
<time datetime="{{ article.modified.isoformat() }}">{{ article.modified.strftime('%b') }} {{ day }} {{- article.modified.strftime(', %Y') }}</time>

{% elif article.modified %}
<h4>Last Updated</h4>
<div class="last-updated">{{ article.modified }}</div>

{% endif %}


Change check for article.modified which is no longer needed after change in Pelican (>3.3) code
Change check for article.modified which is no longer needed after change in Pelican (>3.3) code

See these discussions

https://github.com/getpelican/pelican/pull/1161
https://github.com/getpelican/pelican/pull/1148
