def add_months(start_date, months):
    return date(start_date.year + (start_date.month - 1 + months) / 12, (
        start_date.month - 1 + months) % 12 + 1, 1)
Календарь Python для расчета месяца назад