django-pretty-times

pretty_times provides django template helpers for the py-pretty library.


License
Other
Install
pip install django-pretty-times==0.2.0

Documentation

https://travis-ci.org/imtapps/django-pretty-times.png?branch=master

Almost all of this was borrowed from the py-pretty library, tested then refactored.

py-pretty Functionaility

>>> from datetime import datetime, timedelta
>>> from pretty_times import pretty
>>> now = datetime.now()
>>> pretty.date(now)
'now'
>>> pretty.date(now - timedelta(seconds=30))
'30 seconds ago'
>>> pretty.date(now + timedelta(seconds=31))
'in 30 seconds'
>>> pretty.date(now - timedelta(minutes=1))
'a minute ago'
>>> pretty.date(now + timedelta(minutes=1, seconds=1))
'in a minute'
>>> pretty.date(now - timedelta(hours=1))
'an hour ago'
>>> pretty.date(now + timedelta(hours=1, seconds=1))
'in an hour'
>>> pretty.date(now - timedelta(days=1))
'yesterday'
>>> pretty.date(now + timedelta(days=1, seconds=1))
'tomorrow'
>>> pretty.date(now - timedelta(days=2))
'2 days ago'
>>> pretty.date(now + timedelta(days=2, seconds=1))
'in 2 days'
>>> pretty.date(now - timedelta(days=9))
'last week'
>>> pretty.date(now + timedelta(days=9, seconds=1))
'next week'
>>> pretty.date(now - timedelta(days=16))
'2 weeks ago'
>>> pretty.date(now + timedelta(days=16, seconds=1))
'in 2 weeks'
>>> pretty.date(now - timedelta(days=32))
'last month'
>>> pretty.date(now + timedelta(days=32, seconds=1))
'next month'
>>> pretty.date(now - timedelta(days=64))
'2 months ago'
>>> pretty.date(now + timedelta(days=64, seconds=1))
'in 2 months'
>>> pretty.date(now - timedelta(days=367))
'last year'
>>> pretty.date(now + timedelta(days=367, seconds=1))
'next year'
>>> pretty.date(now - timedelta(days=735))
'2 years ago'
>>> pretty.date(now + timedelta(days=735, seconds=1))
'in 2 years'

Django Integration

{% load prettytimes_tags %}
{{ my_datetime|relative_time }}