반응형
질문
Bitbucket API 응답에는 현재 암스테르담 시간 문자열만 포함되어 있습니다. UTC 시간 문자열과 일관성을 유지하기 위해 원하는 형식은 2011-11-03 11:07:04
입니다 (뒤에 +00:00
이 따라오지만 중요하지 않습니다).
datetime
인스턴스에는 마이크로초 구성 요소가 있는 문자열을 어떻게 생성할 수 있을까요?
>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026
저는 가능한 답안 중에서 가장 좋은 옵션을 추가할 것이지만, 더 우아한 해결책이 있을 수도 있습니다.
편집: 실제로 현재 시간을 인쇄하는 것이 아니라 빠른 예제를 위해 datetime.now
를 사용했습니다. 따라서 솔루션은 받은 datetime
인스턴스에 마이크로초 구성 요소가 포함되어 있다고 가정해서는 안 됩니다.
답변
만약 표준 형식과 다른 특정 형식으로 datetime
객체를 포맷팅하려면, 그 형식을 명시적으로 지정하는 것이 가장 좋습니다:
>>> import datetime
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2011-11-03 18:21:26'
datetime.strftime()
의 문서에서 %
지시자의 설명을 확인하세요.
Python 3.6부터는 isoformat()
메소드가 이 형식도 생성할 수 있을만큼 유연합니다:
datetime.datetime.now().isoformat(sep=" ", timespec="seconds")
반응형
댓글