Getting on for a year ago, I posted a recipe for generating “Natural Language” Time Periods in Python. At the time, a couple of people asked whether it was packaged – and it wasn’t…
It’s still not on pip
, but I have since made a package repo for it: python-natural-time-periods
.
Install using: pip3 install --force-reinstall --no-deps --upgrade git+https://github.com/psychemedia/python-natural-time-periods.git
The following period functions are defined:
today()
,yesterday()
,tomorrow()
last_week()
,this_week()
,next_week()
,later_this_week()
,earlier_this_week()
last_month()
,next_month()
,this_month()
,earlier_this_month()
,later_this_month()
day_lastweek()
,day_thisweek()
,day_nextweek()
Here’s an example of how to use it:
import natural_time_periods as ntpd ntpd.today() >>> datetime.date(2017, 8, 9) ntpd.last_week() >>> (datetime.date(2017, 7, 31), datetime.date(2017, 8, 6)) ntpd.later_this_month() >>> (datetime.date(2017, 8, 10), datetime.date(2017, 8, 31)) ntpd.day_lastweek(ntpd.MON) >>> datetime.date(2017, 7, 31) ntpd.day_lastweek(ntpd.MON, iso=True) >>> '2017-07-31'