날짜끼리 비교를 해야 한다거나 계산을 해야할 때는
데이터를 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년을 뺀 날짜를 얻을 수 있다.
[오류해결] 구글 API 사용시 모듈 오류 (0) | 2021.06.21 |
---|---|
[이중리스트]리스트 내 튜플을 리스트로 변환 (0) | 2020.05.09 |
[Python] 패키지 수동설치 (setup.py 파일) (0) | 2020.04.04 |