{% macro format_date_range(start_date, end_date) %} {%- if end_date is not empty and end_date|date('Y-m-d') != start_date|date('Y-m-d') -%} {%- set sd = start_date|date('d') -%} {%- set sm = start_date|date('M') -%} {%- set sy = start_date|date('Y') -%} {%- set ed = end_date|date('d') -%} {%- set em = end_date|date('M') -%} {%- set ey = end_date|date('Y') -%} {%- if sy == ey and sm == em -%} {{- sd ~ ' – ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey -}} {%- elseif sy == ey -%} {{- sd ~ ' ' ~ sm ~ ' – ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey -}} {%- else -%} {{- sd ~ ' ' ~ sm ~ ' ' ~ sy ~ ' – ' ~ ed ~ ' ' ~ em ~ ' ' ~ ey -}} {%- endif -%} {%- else -%} {{- start_date|date('d M Y') -}} {%- endif %} {% endmacro %}