반응형
✔️ 필요성
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 |