e454acd6bfd12553b68b8f476cc6e894db486fa4
[wolnelektury.git] / apps / pdcounter / templatetags / time_tags.py
1 import datetime
2 import pytz
3 from django.conf import settings
4 from django import template
5 from django.utils import timezone
6
7
8 register = template.Library()
9
10 @register.filter
11 def date_to_utc(date, day_end=False):
12     """ Converts a datetime.date to UTC datetime.
13
14     The datetime represents the start (or end) of the given day in
15     the server's timezone.
16     """
17     if day_end:
18         date += datetime.timedelta(1)
19     localtime = datetime.datetime.combine(date, datetime.time(0,0))
20     return timezone.utc.normalize(
21         pytz.timezone(settings.TIME_ZONE).localize(localtime)
22     )
23
24
25 @register.filter
26 def utc_for_js(dt):
27     return dt.strftime('%Y/%m/%d %H:%M:%S UTC')