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