def _check_time_against_column(time, time_column):
    """
    Check to make sure that time is compatible with time_column,
    where time could be a timestamp, or a Timedelta, number, or None,
    and time_column is a Woodwork initialized column. Compatibility means that
    arithmetic can be performed between time and elements of time_column

    If time is None, then we don't care if arithmetic can be performed
    (presumably it won't ever be performed)
    """
    if time is None:
        return True
    elif isinstance(time, (int, float)):
        return time_column.ww.schema.is_numeric
    elif isinstance(time, (pd.Timestamp, datetime, pd.DateOffset)):
        return time_column.ww.schema.is_datetime
    elif isinstance(time, Timedelta):
        if time_column.ww.schema.is_datetime:
            return True
        elif time.unit not in Timedelta._time_units:
            if (
                isinstance(time_column.ww.logical_type, Ordinal)
                or "numeric" in time_column.ww.semantic_tags
                or "time_index" in time_column.ww.semantic_tags
            ):
                return True
    return False

    Check to make sure that time is compatible with time_column,
    where time could be a timestamp, or a Timedelta, number, or None,
    and time_column is a Woodwork initialized column. Compatibility means that
    arithmetic can be performed between time and elements of time_column

    If time is None, then we don't care if arithmetic can be performed
    (presumably it won't ever be performed)
    
featuretools/utils/wrangle.py