Merge branch 'reflow'
[wolnelektury.git] / src / pdcounter / templatetags / time_tags.py
1 # -*- coding: utf-8 -*-
2 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
3 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
4 #
5 import datetime
6 import pytz
7 from django.conf import settings
8 from django import template
9 from django.utils import timezone
10
11
12 register = template.Library()
13
14
15 @register.filter
16 def date_to_utc(date, day_end=False):
17     """ Converts a datetime.date to UTC datetime.
18
19     The datetime represents the start (or end) of the given day in
20     the server's timezone.
21     """
22     if day_end:
23         date += datetime.timedelta(1)
24     localtime = datetime.datetime.combine(date, datetime.time(0, 0))
25     return timezone.utc.normalize(
26         pytz.timezone(settings.TIME_ZONE).localize(localtime)
27     )
28
29
30 @register.filter
31 def utc_for_js(dt):
32     return dt.strftime('%Y/%m/%d %H:%M:%S UTC')