How can I do this with datetime+dateutil+pytz?
http://babel.pocoo.org/en/latest/api/dates.html
humanize is apparently a human-readable directioned delta, so that'd be format_timedelta(delta, add_direction=True)
>>> print format_timedelta(ref - datetime.now(), add_direction=True)
1 hour ago
>>> print format_timedelta(ref - datetime.now(), add_direction=True, locale='zh')
1小时前
>>> print format_timedelta(ref - datetime.now(), add_direction=True, locale='ru')
1 час назадI think Delorean, Pendulum, Arrow, etc, aim to make dealing with dates more understandable and less painful. It's perfectly possible to fully grasp all the technicalities of pytz/dateutil/datetime -- and I recommend that anybody who has to deal with dates and times in Python do so -- but if you'd rather not think about it all and are okay with deferring some control to the opinions of one of these libraries, that's when you probably pull them off the shelf instead of the aforementioned trio.