프로그래밍 언어/Python

ISO 8601 datetime 문자열을 Python datetime 객체로 변환하는 방법

Rateye 2021. 6. 24. 11:35
728x90
반응형
질문 : ISO 8601 datetime 문자열을 Python datetime 객체로 어떻게 변환합니까?

"2009-05-28T16 : 15 : 00"과 같은 형식의 datetime 문자열을 받고 있습니다 (이것은 ISO 8601입니다). 한 가지 hackish 옵션은 time.strptime 사용하여 문자열을 구문 분석하고 튜플의 처음 6 개 요소를 datetime 생성자에 전달하는 것입니다.

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])

나는 이것을하는 "더 깨끗한"방법을 찾을 수 없었다. 하나있어?

답변

시간대 처리 및 일반적으로 견고한 날짜 구문 분석을 위해 dateutil 라이브러리를 사용하는 것을 선호합니다. 2010-05-08T23:41:54.000Z 와 같은 ISO 8601 문자열을 얻으려면 특히 시간대가 포함되었는지 여부를 미리 알지 못했다면 strptime으로 구문 분석하는 데 즐거운 시간을 보낼 수 있습니다. pyiso8601 에는 사용하는 동안 발생한 몇 가지 문제 (트래커 확인)가 있으며 몇 년 동안 업데이트되지 않았습니다. 대조적으로 dateutil은 활성화되어 나를 위해 일했습니다.

import dateutil.parser
yourdate = dateutil.parser.parse(datestring)
출처 : https://stackoverflow.com/questions/969285/how-do-i-translate-an-iso-8601-datetime-string-into-a-python-datetime-object
728x90
반응형