2013-07-27 2 views
2

Python에서 자동으로 현지화 된 월 이름을 지정하고 싶습니다.Python에서 현지화 된 월 이름

나는이 코드를 사용합니다 : datetime.datetime.strptime(j, "%m").strftime("%B") 여기서 j는 월 번호입니다.

내 문제는 "Janvier"(프랑스어 로케일)가 예상되는 동안 내게 "1 월"을 계속 제공한다는 것입니다.

나는 로케일로 약간 놀려고 노력했다. 그리고 내가 작동하게 만들 수있는 유일한 방법은 locale.set_locale(locale.LC_ALL, "")을 스크립트의 처음에 호출하는 것이다.

이동하는 것이 좋은 방법입니까? 아니면 문제가없고 더 좋은 해결책이 있습니까?

감사

+0

' 로케일의 달 이름', 로케일 설정이 좋은 방법입니다! –

+0

예,'locale.set_locale()'을 호출하는 것은 기본 로케일을 설정하는 좋은 방법입니다. – martineau

+0

좋아, 나는 그걸로 갈거야. 필자는 파이썬이 자동으로 로케일을 설정한다고 말했을 때, 자동으로 로케일을 설정한다고 생각했습니다. – Phyks

답변

1

당신이 로케일은 OS 수준에서 설정 한 경우,

locale.set_locale(locale.LC_ALL, '') 
print locale.nl_langinfo(locale.LC_MON1) 

"janvier" 

또는 당신은 파이썬 수준에서 설정할 수 있습니다 : 파이썬 문서는로`%의 B`을 줄 것으로보고

locale.set_locale(locale.LC_ALL, 'fr_FR') 
print locale.nl_langinfo(locale.LC_MON1) 

"janvier" 
+0

내 시스템에서'locale.MON_1' (파이썬 2.7.3) – Joril

4

에만 영향을 wan't 경우, 날짜 기능이 시도 :

def getLocalizedMonth(j): 
    locale.set_locale(locale.LC_ALL, "") 
    datetime.datetime.strptime(j, "%m").strftime("%B") 
    locale.setlocale(locale.getdefaultlocale()) 

그리고 네 제가 locale.setlocale를 사용하여 생각하는 가장 좋은 방법입니다!

관련 문제