Projet

Général

Profil

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

root / entrouvert / djommon / humantime / utils.py @ ecc2c1c7

1
import datetime
2

    
3
from django.utils.translation import pgettext
4
from django.template.defaultfilters import date
5

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