timeago
                                
                                 timeago copied to clipboard
                                
                                    timeago copied to clipboard
                            
                            
                            
                        :hourglass: Simple library used to format datetime with `*** time ago` statement. eg: "3 hours ago".
timeago
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.
Install
pip install timeago
Usage & Example
# -*- 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
Method & Parameter
only one API format.
Three parameters of method format:
- date: the parameter which will be formatted, must be instance of- datetime/- timedeltaor datetime formatted string.
- now: reference time, must be instance of- datetimeor datetime formatted string.
- locale: the locale code, default- en.
Locale
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
Localization
- Fork the project
- Create a locale python script called [name_of_your_locale].pyfollowing the existing other locales.
- Add the name of your locale in the Readme (both in MD and in RST) to keep it updated (alphabetically).
- Add test case following the english model
- Create the Pull Request.
Notes
For complicated plurals, you can take example on the PL :flag-pl: locale here