6

Python によって自動的に与えられるローカライズされた月の名前が欲しいです。

私はこのコードを使用します:datetime.datetime.strptime(j, "%m").strftime("%B")ここで、j は月番号です。

私の問題は、「Janvier」(フランス語のロケール)を期待しているときに「January」が表示され続けることです。

ロケールで少し遊んでみましたが、それを機能させる唯一の方法locale.set_locale(locale.LC_ALL, "")は、スクリプトの先頭で呼び出すことです。

それは良い方法ですか?または、問題とより良い解決策はありますか?

ありがとう

4

2 に答える 2

5

datetime 関数にのみ影響を与えたくない場合は、次を試してください。

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

はい、locale.setlocale を使用することが最善の解決策だと思います。

于 2013-07-27T21:16:53.047 に答える