Ejemplo n.º 1
0
def generate_date_from_string(date_str):
    """ Expects a string with format YYYY-MM-DD. returns datetime.date """
    try:
        return datetime.date(*[int(x) for x in date_str.split('-')])
    except Exception as e:
        logger.error(str(e))
    return None
def generate_date_from_string(date_str):
    """ Expects a string with format YYYY-MM-DD. returns datetime.date """
    try:
        return datetime.date(*[int(x) for x in date_str.split('-')])
    except Exception as e:
        logger.error(str(e))
    return None
Ejemplo n.º 3
0
def generate_all_fiscal_years_in_range(start, end):
    """ For a given date-range, provide the inclusive fiscal years """
    fiscal_years = []
    temp_date = start
    while temp_date < end:
        fiscal_years.append(generate_fiscal_year(temp_date))
        temp_date = datetime.date(temp_date.year + 1, temp_date.month, temp_date.day)
    return fiscal_years
Ejemplo n.º 4
0
def generate_date_ranges_in_time_period(start, end, range_type='fy'):
    """ For a given date-range, provide the inclusive fiscal years, fiscal quarters, or fiscal months """
    date_ranges = []
    temp_date = start
    while temp_date < end:
        fy, quarter = generate_fiscal_year_and_quarter(temp_date).split('-Q')
        date_range = {'fy': int(fy)}
        date_interval = relativedelta(years=1)
        if range_type == 'quarter':
            date_range['quarter'] = int(quarter)
            date_interval = relativedelta(months=3)
        elif range_type == 'month':
            date_range['month'] = generate_fiscal_month(temp_date)
            date_interval = relativedelta(months=1)
        temp_date = datetime.date(temp_date.year, temp_date.month,
                                  temp_date.day) + date_interval
        date_ranges.append(date_range)
    return date_ranges