7

私はl10nを使用するプロジェクトに取り組んでいます。
ロケールをENに設定し、時刻(08:00)を表示しようとすると、次のようになります。

8 a.m.

ロケールをFRに設定すると、次のようになります。

08:00:00

しかし、それは次のようなものでなければなりません:

8h

なぜこのフォーマットを取得するのですか?適切なフォーマットを取得するにはどうすればよいですか?

4

2 に答える 2

11

どうやら、FRロケールに設定されたデフォルトの時間形式はありません。

あなたができることはフォーマットモジュールを設定することです:

# 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'
于 2012-10-26T10:31:31.123 に答える
1

私の理解では、ローカリゼーションを使用している場合はフォーマットを変更できるとは思いません:https ://docs.djangoproject.com/en/dev/topics/i18n/timezones/ 。

ですかUSE_L10N = True?もしそうなら、それはオーバーライドsettings.TIME_FORMATし、settings.TIME_INPUT_FORMATS値を付けます:https ://docs.djangoproject.com/en/dev/ref/settings/#time-format

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

于 2012-10-26T10:48:58.013 に答える