def add_datetime()

in fclib/fclib/feature_engineering/feature_utils.py [0:0]


def add_datetime(input_datetime, unit, add_count):
    """
    Function to add a specified units of time (years, months, weeks, days,
    hours, or minutes) to the input datetime.

    Args:
        input_datetime: datatime to be added to
        unit: unit of time, valid values: 'year', 'month', 'week',
            'day', 'hour', 'minute'.
        add_count: number of units to add

    Returns:
        New datetime after adding the time difference to input datetime.

    Raises:
        Exception: if invalid unit is provided. Valid units are:
            'year', 'month', 'week', 'day', 'hour', 'minute'.
    """
    if unit == "year":
        new_datetime = input_datetime + relativedelta(years=add_count)
    elif unit == "month":
        new_datetime = input_datetime + relativedelta(months=add_count)
    elif unit == "week":
        new_datetime = input_datetime + relativedelta(weeks=add_count)
    elif unit == "day":
        new_datetime = input_datetime + relativedelta(days=add_count)
    elif unit == "hour":
        new_datetime = input_datetime + relativedelta(hours=add_count)
    elif unit == "minute":
        new_datetime = input_datetime + relativedelta(minutes=add_count)
    else:
        raise Exception(
            "Invalid backtest step unit, {}, provided. Valid " "step units are Y, M, W, D, h, " "and m".format(unit)
        )
    return new_datetime