Чтобы получить все dates
в month
этого year
в формате yyyy-mm-dd
:
date = "200601"
import datetime, calendar
num_days = calendar.monthrange(int(date[:-2]), int(date[4:]))[1]
print([datetime.date(int(date[:-2]), int(date[4:]), day).strftime("%Y-%m-%d") for day in range(1, num_days+1)])
OUTPUT
['2006-01-01', '2006-01-02', '2006-01-03', '2006-01-04', '2006-01-05', '2006-01-06', '2006-01-07', '2006-01-08', '2006-01-09', '2006-01-10', '2006-01-11', '2006-01-12', '2006-01-13', '2006-01-14', '2006-01-15', '2006-01-16', '2006-01-17', '2006-01-18', '2006-01-19', '2006-01-20', '2006-01-21', '2006-01-22', '2006-01-23', '2006-01-24', '2006-01-25', '2006-01-26', '2006-01-27', '2006-01-28', '2006-01-29', '2006-01-30', '2006-01-31']
А по второму вопросу:
Печать всех дней между двумя датами
EDIT
Продолжая комментарии к этому ответу:
print([datetime.date(int(date[:-2]), int(date[4:]), day).strftime("%Y%d") for day in range(1, num_days+1)])
OUTPUT
['200601', '200602', '200603', '200604', '200605', '200606', '200607', '200608', '200609', '200610', '200611', '200612', '200613', '200614', '200615', '200616', '200617', '200618', '200619', '200620', '200621', '200622', '200623', '200624', '200625', '200626', '200627', '200628', '200629', '200630', '200631']