반응형
다음 날짜가 있습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 상수를 어떻게 생성합니까? (0) | 2020.12.04 |
---|---|
파이썬에서 json 배열을 필터링하는 방법 (0) | 2020.12.04 |
파이썬 HTML 파일을 어떻게 열지? (0) | 2020.12.04 |
파이썬 Python 3.4에서 int로 "Cast" (0) | 2020.12.04 |
파이썬 Python 스크립트 예약-Windows 7 (0) | 2020.12.04 |
댓글