I have the following in my template:
{% for showtime in showtimes %}
{% ifchanged showtime.start.day %}
<h3>{{ showtime.start|date:"M d" }}</h3>
{% endifchanged %}
showtime.start is a timezone aware DateTimeField. The problem is that showtime.start.day returns the day in UTC while showtime.start|date:"M d" prints the date in the context timezone.
I've tried the following:
{% ifchanged showtime.start|date:"M d" %}
which fails since ifchanged can't deal with arguments to filters (even in 1.5). I've tried playing around with timezone and localtime, eg.
{% load tz %}
{% timezone TIME_ZONE %}
{% for showtime in showtimes %}
{% ifchanged showtime.start.day %}
<h3>{{ showtime.start|date:"M d" }}</h3>
{% endifchanged %}
{% endtimezone %}
As expected those don't work. Is there any way to make ifchanged work on the timezoned version of the date time or do I need a custom filter?