2014-12-24 4 views
-1

날짜 문자열이 '23/Oct/2014'인데 파이썬 3에서 '2014/10/23'으로 변환하고 싶습니다. 필요한 최종 출력물은 문자열입니다. 사전 변환 (월 변환)을 사용하여 변환을 수행하는 내 자신의 기능을 구현하지만 같은 일을 더 pythonic 방법이 있는지 궁금합니다.파이썬에서 2014 년 10 월 23 일 2014/10/23으로 변환

+0

당신의 자신의 dict 방법이 더 좋고 더 효율적일 것입니다. –

답변

3

는 그런 다음 다시 문자열로 포맷 문자열을 구문 분석 datetime library를 사용할 수 있습니다

from datetime import datetime 

converted = datetime.strptime(original, '%d/%b/%Y').strftime('%Y/%m/%d') 

datetime.datetime.strptime()를 사용하여 입력 문자열을 구문 분석 후 datetime.datetime.strftime() 다시 문자열로 결과 객체를 포맷합니다.

데모 : 당신은 그냥 문자열을 원하는 경우에 당신은 내가 날짜를 사용하여 지점이 표시되지 않는 날짜 객체를 원하지 않는 경우

>>> from datetime import datetime 
>>> original = '23/Oct/2014' 
>>> datetime.strptime(original, '%d/%b/%Y').strftime('%Y/%m/%d') 
'2014/10/23' 
+0

@TankorSmash : 충돌하는 편집을 미안하지만 편집이 왜 필요한지 잘 모르겠습니다. –

+0

걱정할 필요가 없습니다. 방금 묵시적인 변수'original'을 가지고 있었고, 나는 그것을 만들고 싶었고, 결과물을 더 명확하게하고 싶었습니다. – TankorSmash

0

, 당신의 DICT 매핑 및 형식, 잘 작동합니다 :

dt = '23/Oct/2014' 
dates = dict(Jan="01", Feb="02", Mar="03", Apr="04", May="05", Jun="06", Jul="07", Aug="08", Sep="09", Oct="10", 
      Nov="11", Dec="12") 
day,mon, year = dt.split("/") 
print("{}/{}/{}".format(year,dates[mon],day)) 
2014/10/23 
관련 문제