how to get next month date between two dates and when month is same get next date in python

Viewed 30
**startdate = '2022-1-1'
enddate =  '2022-9-15'

expected output =2022-2-1
                 2022-3-1 
                 2022-4-1
                 2022-5-1
                 2022-6-1
                 2022-7-1
                 2022-8-1
                 2022-9-1
                 2022-9-2
                 2022-9-3
                 2022-9-4
                 2022-9-5
                 2022-9-6
                 2022-9-7
                 2022-9-8
                 2022-9-9
                 2022-9-10
                 2022-9-11
                 2022-9-12
                 2022-9-13
                 2022-9-14
                 

**

from dateutil.relativedelta import relativedelta
from datetime import datetime
start_Date = datetime(2022, 1, 1)
endDate = datetime(2022, 9, 15)
tdelta = relativedelta(months=+1)

while start_Date <= endDate:
      print(start_Date)
      start_Date += tdelta

I'm able to get all the next month date within two date but not sure how to increment the date when they are in the same month within the same loop. **output of the above code
2022-2-1 2022-3-1 2022-4-1 2022-5-1 2022-6-1 2022-7-1 2022-8-1 **

1 Answers
from dateutil.relativedelta import relativedelta
from datetime import datetime

start_Date = datetime(2022, 1, 1)
endDate = datetime(2022, 9, 15)

while start_Date < endDate - relativedelta(days=1):
    if start_Date.month < endDate.month:
        start_Date += relativedelta(months=1)
    else:
        start_Date += relativedelta(days=1)
    print(start_Date.strftime('%Y-%m-%d'))
2022-02-01
2022-03-01
2022-04-01
2022-05-01
2022-06-01
2022-07-01
2022-08-01
2022-09-01
2022-09-02
2022-09-03
2022-09-04
2022-09-05
2022-09-06
2022-09-07
2022-09-08
2022-09-09
2022-09-10
2022-09-11
2022-09-12
2022-09-13
2022-09-14
Related