상세 컨텐츠

본문 제목

[Python]str 에서 date 형식으로 변환

#PYTHON/Diary - 매우 사소하고 작은 것들

by 소피의 세계 2020. 5. 24. 18:28

본문

 

 

날짜끼리 비교를 해야 한다거나 계산을 해야할 때는

데이터를 str형식에서 date형식으로 type을 변경해주어야 한다.

만약 마구잡이로 들어가있는 데이터를 불러온다면

정규식으로 date로 변환시킬 부분만 우선 걸러낸다.

예를 들어 '2002.03.02일 부터' 라는 데이터가 있다면

p= re.compile('\d+\.\d+\.\d+')
m= p.search(data)

'2002.03.02' 부분만 떼어낸다.

datetime.strptime(m.group(),'%Y.%m.%d').date()

위의 코드에서는 strptime으로 지정해준 포맷의 m.group() 데이터를

datetime 함수를 써서 date타입으로 바꿔주었는데

datetime의 경우 시,분,초 까지 나오므로 완벽히 날짜형태로 얻기위해

date()함수를 마지막에 써주었다.

이렇게하면 '2002-03-02' 형태의 date 타입 데이터를 얻을 수 있다.

하나 더 !!

만약 오늘로부터 5년전 날짜를 얻으려면 어떻게하면 좋을까?

from dateutil.relativedelta import *

due_date = datetime.today().date() - relativedelta(years=5)

relativedelta를 쓰면 5년을 뺀 날짜를 얻을 수 있다. 

 

 

관련글 더보기