본문 바로가기

programmer/python

Python DateTime 변환(날짜 양식 변환)

Data 전처리하다 보면 날짜 양식이 모두 달라 처리하기 귀찮을 때가 있다.

이때 Datatime 라이브러리를 좀 활용하면 도움이 될까 하여 관련 함수를 공유한다.

import locale
import datetime
import re

def transDateTimeFromInputString(inputDate):
    result = ""
    datePatterns = {
        "koreanPattern" : r"(\d{4})년+(\d{1,2})월+(\d{1,2})일",
        "koreanPattern_with_space" : r"(\d{4})년\s+(\d{1,2})월\s+(\d{1,2})일",
        "slashPattern" : r"(\d{4})-+(\d{1,2})-+(\d{1,2})",
        "dotPattern" : r"(\d{4})\.+(\d{1,2})\.+(\d{1,2})"
    }
    for key in datePatterns.keys():
        if(len(re.findall(datePatterns[key], inputDate))):
            print(key)
            year, month, day = re.findall(datePatterns[key], inputDate)[0]
            result = datetime.date(int(year), int(month), int(day))
            print(result)
            break
    return result
sday = transDateTimeFromInputString("2022-2-21")
eday = transDateTimeFromInputString("2022년2월20일")
sday > eday

datePatterns에 변환 할 prefix 값만 넣으면 dateTime으로 변환되어 날짜 비교 등 이 가능하다.

반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기

'programmer > python' 카테고리의 다른 글

python to elasticsearch  (0) 2022.03.03
[Crawling] webdriver로 새로운 탭 열고 데이터 수집하기  (0) 2022.02.23
[docker] jupyter-notebook 설치  (0) 2022.02.01
Telegram API 사용해 보기  (0) 2022.01.17
python 크롤링 해보기  (0) 2021.07.31