def monthdelta(date, delta):
    """
    Method to get a delta of Months from a provided datetime

    From this StackOverflow response:
    http://stackoverflow.com/questions/3424899/whats-the-simplest-way-to-subtract-a-month-from-a-date-in-python

    Arguments:
        date datetime: Date to be modified
        delta int: delta value

    Returns:
        datetime: The datetime with the month delta applied
    """
    m, y = (date.month + delta) % 12, date.year + (date.month + delta - 1) // 12
    if not m:
        m = 12
    d = min(date.day, [31,
                       29 if y % 4 == 0 and not y % 400 == 0
                       else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][m - 1])
    return date.replace(day=d, month=m, year=y)