본문 바로가기
파이썬

파이썬 날짜 문자열을 DateTime 개체로 변환하는 방법은 무엇입니까?

by º기록 2020. 12. 4.
반응형

다음 날짜가 있습니다.

2005-08-11T16:34:33Z

이 날짜가 datetime (2009,04,01) 이전인지 이후인지 알아야하며 해당 문자열을 비교할 수있는 것으로 변환하는 메서드를 찾을 수없는 것 같습니다. datetime (2009,04,01) 을 의미있게 표현합니다.

 

해결 방법

 

문자열이 ISO 형식이므로 언급 한 datetime 의 ISO 형식 버전과 의미있게 직접 비교할 수 있습니다.

>>> s='2005-08-11T16:34:33Z'
>>> t=datetime.datetime(2009,04,01)
>>> t.isoformat()
'2009-04-01T00:00:00'
>>> s < t
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't compare datetime.datetime to str
>>> s < t.isoformat()
True
>>> z='2009-10-01T18:20:12'
>>> z < t.isoformat()
False

보시다시피 문자열을 datetime 객체와 비교할 수는 없지만 문자열이 ISO 형식 인 한 datetime 객체의 .isoformat () 과 비교하는 것이 좋습니다. 이것이 날짜와 시간의 ISO 형식 문자열 표현의 아름다움입니다. 다른 유형으로 변환 할 필요없이 정확하게 문자열 과 정확하게 비교되고 정렬됩니다.

물론 전환을 원하면 다음을 수행 할 수 있습니다.

>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2005, 8, 11, 16, 34, 33)

 

참조 페이지 https://stackoverflow.com/questions/2721782

 

 

반응형

댓글