ETC 코딩/PYTHON

[Python] add months 함수 만들기

세리둥절 2022. 9. 21. 07:46
반응형

 

✔️ 필요성

202003 이라는 연월 string을 받았을 때 여기서 3개월을 더해서 202006이라는 리턴값을 얻거나, 3개월을 빼서 201912라는 리턴값을 얻는 add_months 함수를 만들고 싶다

 

 

 

 

✔️ 문제 해결

datetime.date와 dateutil.relativedelta.relativedelta를 활용해서 아래와 같은 add_months 함수를 만들어줄 수 있었다

import os
import json
import pandas as pd
from datetime import date
from dateutil.relativedelta import relativedelta

# add months to a date
def add_months(exec_ym, months):
    exec_dt = date(int(exec_ym[:4]), int(exec_ym[-2:]), 1)
    result = exec_dt + relativedelta(months=+months)
    return result.strftime('%Y%m')

# 확인하기
exec_ym = '202003'
print(exec_ym)
# 202003

bf_m3_ym = add_months(exec_ym, -3)
print(bf_m3_ym)
# 201912
반응형

'ETC 코딩 > PYTHON' 카테고리의 다른 글

[Python] datetime.date 형식 변환하기  (0) 2022.09.21
Python으로 업비트 계좌 조회하기  (0) 2022.08.28
pip3 version upgrade하기  (0) 2022.08.28