반응형
질문
날짜 및 시간 문자열을 "2009-05-28T16:15:00"과 같은 형식으로 받고 있습니다 (ISO 8601인 것 같습니다). 하나의 해킹적인 옵션은 time.strptime
을 사용하여 문자열을 구문 분석하고 튜플의 첫 6개 요소를 datetime 생성자에 전달하는 것입니다. 예를 들면 다음과 같습니다:
datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])
더 "깨끗한" 방법을 찾지 못했습니다. 그런 방법이 있을까요?
답변
나는 일반적으로 시간대 처리와 일반적으로 견고한 날짜 구문 분석을 위해 dateutil 라이브러리를 선호합니다. ISO 8601
문자열인 2010-05-08T23:41:54.000Z
와 같은 문자열을 strptime으로 구문 분석하려면 특히 앞서 시간대가 포함되어 있는지 여부를 알지 못하는 경우에는 재미있는 시간이 될 것입니다. pyiso8601
에는 몇 가지 문제점(트래커를 확인하세요)이 있었으며, 몇 년 동안 업데이트되지 않았습니다. 대조적으로, dateutil은 활발하게 유지되고 제대로 작동했습니다:
from dateutil import parser
yourdate = parser.parse(datestring)
반응형
댓글