A very simple python lib, used to format datetime with *** time ago
statement. Javascript version here. timeago.js.
Such as:
just now
12 seconds ago
3 minutes ago
2 hours ago
24 days ago
6 months ago
2 years ago
in 12 seconds
in 3 minutes
in 2 hours
in 24 days
in 6 months
in 2 years
For other languages see below.
pip install timeago
# -*- coding: utf-8 -*-
import timeago, datetime
now = datetime.datetime.now() + datetime.timedelta(seconds = 60 * 3.4)
date = datetime.datetime.now()
# locale
print (timeago.format(date, now, 'zh_CN')) # will print `3分钟前`
# input datetime
print (timeago.format(date, now)) # will print 3 minutes ago
# input timedelta
print (timeago.format(datetime.timedelta(seconds = 60 * 3.4))) # will print 3 minutes ago
# input date, auto add time(0, 0, 0)
print (timeago.format(datetime.date(2016, 5, 27), now))
# input datetime formatted string
print (timeago.format('2016-05-27 12:12:03', '2016-05-27 12:12:12')) # will print just now
# inverse two parameters
print (timeago.format('2016-05-27 12:12:12', '2016-05-27 12:12:03')) # will print a while
only one API format
.
Three parameters of method format
:
date
: the parameter which will be formatted, must be instance of datetime
/ timedelta
or datetime formatted string.now
: reference time, must be instance of datetime
or datetime formatted string.locale
: the locale code, default en
. At the time we're speaking, following locale are available:
ar
bg
ca
da
de
el
en
en_short
es
eu
fa_IR
fi
fr
gl
guj_IN
he
hu
in_BG
in_HI
in_ID
is
it
ja
ko
lt
ml
my
nb_NO
nl
nn_NO
pl
pt_BR
pt_PT
ro
ru
sk
sv_SE
ta
th
tr
uk
vi
zh_CN
zh_TW
[name_of_your_locale].py
following the existing other locales.For complicated plurals, you can take example on the PL :flag-pl: locale here