파이썬에서 날짜데이터를 문자열로 갖고 있을 때 이를 date타입으로 변환해서 연산을 한 후에 다시 문자열로 전환해야할 경우들이 종종 있다. 이럴때 어떤 함수를 활용하면 되는지 간단하게 알아보자.
yyyymmdd = '20191209'
ndays = 7
yyyymmdd_d = datetime.strptime(yyyymmdd, "%Y%m%d").date()
yyyymmdd_1_ago = yyyymmdd_d - timedelta(days=1)
yyyymmdd_n_ago = yyyymmdd_d - timedelta(days=ndays)
print(yyyymmdd_1_ago.strftime('%Y%m%d'))
print(yyyymmdd_n_ago.strftime('%Y%m%d'))
주어진 문자열은 '20191209' 이고 이 날짜의 전날과 7일전 날짜를 문자열로 갖고 싶다고 가정해보자. 먼저 "datetime.strptime()" 함수로 기준이 되는 날짜를 문자열 -> date 타입으로 변환하자. 그리고 나서 timedelta(days=?) 함수를 통해서 1일전과 7일전 날짜를 date타입으로 확보한다. 이제 마지막으로 확보된 새로운 date 타입들을 다시 문자열로 변환하면 된다.
다시 strftime()함수를 동원하면 date타입 -> 문자열 타입으로 전환할 수 있게 된다.