register = template.Library()
@register.filter
-def local_to_utc(localtime):
- if isinstance(localtime, datetime.date):
- localtime = datetime.datetime.combine(localtime, datetime.time(0,0))
+def date_to_utc(date, day_end=False):
+ """ Converts a datetime.date to UTC datetime.
+
+ The datetime represents the start (or end) of the given day in
+ the server's timezone.
+ """
+ if day_end:
+ date += datetime.timedelta(1)
+ localtime = datetime.datetime.combine(date, datetime.time(0,0))
return timezone.utc.normalize(
pytz.timezone(settings.TIME_ZONE).localize(localtime)
)