Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将日期范围拆分为一组具有单独部分季度的季度_Python_Date_Datetime_Date Range_Quarter - Fatal编程技术网

如何在Python中将日期范围拆分为一组具有单独部分季度的季度

如何在Python中将日期范围拆分为一组具有单独部分季度的季度,python,date,datetime,date-range,quarter,Python,Date,Datetime,Date Range,Quarter,鉴于日期范围为2020-01-15至2021-05-10,我们需要将其划分为每年季度的日期范围 Ex: First partial quarter 2020-01-15 to 2020-03-31 After That Allow complete Quarters from 2020-04-01 to 2021-03-31 ... The last Partial Quarter as 2021-04-01 to 2021-05-10 函数应该返回一个元组列表的元组,其中一个可以是部分四分

鉴于日期范围为2020-01-15至2021-05-10,我们需要将其划分为每年季度的日期范围

Ex:

First partial quarter 2020-01-15 to 2020-03-31
After That Allow complete Quarters from 2020-04-01 to 2021-03-31 ...
The last Partial Quarter as 2021-04-01 to 2021-05-10
函数应该返回一个元组列表的元组,其中一个可以是部分四分之一的列表,第二个可以是完整四分之一的列表

返回值如下所示:

(
    [('2020-01-15', '2020-03-31'), ('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

如果范围是完整的四分之一(2020-04-01、2021-03-31),则返回值如下:

(
    [('2020-01-15', '2020-03-31'), ('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

如果一个部分四分之一(2020-04-01、2021-05-10)返回值如下:

(
    [('2020-01-15', '2020-03-31'), ('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)

(
    [('2021-04-01', '2021-05-10')],
    [('2020-04-01', '2020-06-30'), ('2020-07-01', '2020-09-30'), ('2020-10-01', '2020-12-31'), ('2021-01-01', '2021-03-31')]
)