Apr 5, 2018

get last billing date of previous month

relm.py
import datetime
from dateutil import relativedelta
import sys

try:
   input_date = sys.argv[1]
   input_date = datetime.datetime.strptime(input_date, "%Y-%m-%d").date()
   #This gives always last date of the month - relativedelta.relativedelta(day=31)
   prev_month = input_date - relativedelta.relativedelta(months=1) - relativedelta.relativedelta(day=31)
   print prev_month
except Exception, e:
   print e


Output:
python relm.py 2018-02-27 #2018-01-31
python relm.py 2018-12-28 #2018-11-30
python relm.py 2018-01-28 #2017-12-31
python relm.py 2018-02-31  #day is out of range for month

No comments:

Post a Comment