import calendar
start_date = date(1983, 12, 23)
days_in_month = calendar.monthrange(start_date.year, start_date.month)[1]
start_date + timedelta(days=days_in_month)
Python : How to add month to December 2012 and get January 2013?