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