2012-10-26 14 views
7

私はl10nを使用するプロジェクトに取り組んでいます。
私はENにロケールを設定した時間(午前8時)を表示しようとすると、私が手:Django - ロケールの時刻形式を変更する

8 a.m. 

私はFRするロケールを設定した場合、私が手:

08:00:00 

しかし、

8h 

この形式を取得する理由は何ですか。どのようにして適切なフォーマットを得ることができますか?

答えて

10

FRロケールのデフォルトの時刻形式は設定されていません。あなたは何ができるか

format moduleを設定している:

# myproject/settings.py 
FORMAT_MODULE_PATH = 'myproject.formats' 

それを作成します。

myproject/ 
    formats/ 
     __init__.py 
     fr/ 
      __init__.py 
      formats.py 

とフランスのフォーマット定義:

# myproject/formats/fr/formats.py 
TIME_FORMAT = 'G:i' 
+0

非常によく知っている、素晴らしい仕事。 – jpic

1

を私はあなたができるとは思いません私の理解から、ローカライゼーションを使用している場合はフォーマットを変更してください:​​。

USE_L10N = Trueですか?その場合、settings.TIME_FORMATsettings.TIME_INPUT_FORMATSの値を上書きします。https://docs.djangoproject.com/en/dev/ref/settings/#time-format

選択した言語に基づいて、独自のローカライズコンテキストプロセッサまたはテンプレートフィルタを作成できます。

+0

私は 'TIME_FORMAT'がformatモジュールを通してセットされたときに' USE_L10N'からのデフォルト値をオーバーライドすることを確認します –

関連する問題