Projet

Général

Profil

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

root / entrouvert / djommon / humantime / utils.py @ 1bcca449

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
        dt = localtime(dt)
11
        time = dt.strftime('%H:%M')
12
    else:
13
        dt = datetime.datetime(year=dt.year, month=dt.month, day=dt.day,
14
                tzinfo=get_default_timezone())
15
        dt = localtime(dt)
16
        include_time = False
17
    today = datetime.date.today()
18
    yesterday = today - datetime.timedelta(days=1)
19
    subdate = dt.date()
20
    if subdate == today:
21
        if include_time:
22
            return pgettext('humantime', 'today at {0}').format(time)
23
        else:
24
            return pgettext('humantime', 'today')
25
    elif subdate == yesterday:
26
        if include_time:
27
            return pgettext('humantime', 'yesterday at {0}').format(time)
28
        else:
29
            return pgettext('humantime', 'yesterday')
30
    else:
31
        if include_time:
32
            return date(dt, 'SHORT_DATETIME_FORMAT')
33
        else:
34
            return date(dt, 'SHORT_DATE_FORMAT')
(3-3/3)