Projet

Général

Profil

Télécharger (1,17 ko) Statistiques
| Branche: | Tag: | Révision:

root / entrouvert / djommon / humantime / utils.py @ 7b20f440

1
import datetime
2

    
3
from django.utils.translation import pgettext
4
from django.utils.timezone import localtime, get_default_timezone
5
from django.template.defaultfilters import date
6

    
7
def datetime2human(dt, include_time=False, days_limit=7):
8
    '''Format a datetime object for human consumption'''
9
    if isinstance(dt, datetime.datetime):
10
        time = dt.strftime('%H:%M')
11
    else:
12
        dt = datetime.datetime(year=dt.year, month=dt.month, day=dt.day,
13
                tzinfo=get_default_timezone())
14
        include_time = False
15
    dt = localtime(dt)
16
    today = datetime.date.today()
17
    yesterday = today - datetime.timedelta(days=1)
18
    subdate = dt.date()
19
    if subdate == today:
20
        if include_time:
21
            return pgettext('humantime', 'today at {0}').format(time)
22
        else:
23
            return pgettext('humantime', 'today')
24
    elif subdate == yesterday:
25
        if include_time:
26
            return pgettext('humantime', 'yesterday at {0}').format(time)
27
        else:
28
            return pgettext('humantime', 'yesterday')
29
    else:
30
        if include_time:
31
            return date(dt, 'SHORT_DATETIME_FORMAT')
32
        else:
33
            return date(dt, 'SHORT_DATE_FORMAT')
(3-3/3)