2012-10-26 66 views
7

我正在使用l10n的項目。
如果我的區域設置爲EN和試圖顯示時間(08:00),我得到: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'覆蓋了來自'USE_L10N'的默認值 –