나는야 데이터사이언티스트/PYTHON

[Python] 마지막 날짜 얻기, 마지막 날짜 계산하기

우주먼지의하루 2022. 9. 8. 00:02
728x90

매월 다른 마지막 날짜를 구하기 위한 함수

 

 

1. 필요한 라이브러리

from dateutil import rrule
from datetime import date

from datetime import datetime
from datetime import timedelta
from dateutil import relativedelta

import time

 

2. 시작 날짜 구하기

나는 여러 월의 마지막 날짜를 한번에 구하기 위해서 시작 날짜를 list로 만들었다

2019.01 ~ 2022.03 기간의 마지막 날짜를 구하기 위해서 시작 날짜를 만들어 줬다

date = list(rrule.rrule(rrule.MONTHLY, dtstart=date(2019,1,1), util=date(2022,3,1)))

start_date = []
for i in date:
	start_date.append(i.strftime("%Y%m%d")

 

3. 마지막 날짜 구하기

#마지막날짜

def getMonthRange(year,month):
	this_month = datetime(year=year, month=month, day=1).date()
    next_month = this_month + relativedelta.relativedelta(months=1)
    print(f"this month: {this_month}")
    print(f"next month: {next_month}")
    
    first_day = this_month
    last_day = next_month - timedelta(days=1)
    print(f"first day: {first_day}")
    print(f"last day: {last_day}")
    
    return ,last_day
    
 
 last_day=[]
 
 for i in date:
 	month_range = getMonthRange(i.year, i.month)
    last_day.append(month_range)
    

end_data=[]

for i in last_day:
	end_date.append(i.strftime("%Y%m%d"))
반응형