Short and sweet date format from Gmail.
Use as {{ message.sent_at|humantime }}
Works for future dates too.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from datetime import datetime,time
from django.utils.dateformat import DateFormat
register = Library()
@register.filter
def humantime(t):
now = datetime.now()
if datetime.combine(now, time()) < t and t < datetime.combine(now + timedelta(1), time()):
f = 'g:i a'
elif now.year == t.year:
f = 'M j'
else:
f = 'n/j/y'
df = DateFormat(t)
return df.format(f).replace('.m.', 'm')
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.