2013-10-02 66 views
1

我搜索了這個問題的答案,但我發現的只是如何顯示12小時與24小時時間格式,而不是何時執行此操作。如何檢測當前語言環境是否使用12小時或24小時時間格式?

我的問題類似於這個:How to determine if current culture/locale uses am/pm or 24-hour time?但我想知道我們是否有與CurrentCulture或CultureInfo類似的結構在Rails中。

我相信使用語言環境它應該是可能的,但我不知道該怎麼做,或者如果有任何數據庫明確提及哪些語言使用軍事格式(24小時)並使用AM/PM格式。

+1

用戶只需在註冊/設置時選擇他們喜歡的選項? – dax

+0

這會強制手動配置。我在尋找的是一種更智能的方式來檢查logged_in_user的語言環境並顯示正確的表單。 到目前爲止,我只能列出一個列表,並檢查語言環境是否在列表中,並使用ampm => true/false的「time_select」手動顯示不同的下拉列表。 – AliKH

+0

下面是一個快捷方式的近似值:獲取新用戶所在的國家/地區(來自IP)。如果是美國或英國,請設置12小時制。否則設置24小時制。哦,是的,在UI中公開這個設置,以便用戶可以改變它。 –

回答

0

根據這wikipedia article,在大多數講英語的地區,特別是美國,菲律賓和英國及其前殖民地,12小時制時鐘是說明時間的主要形式。下面是文章的相關摘錄:

在大多數講英語的地區,特別是美國,菲律賓和 英國前殖民地,12小時時鐘陳述的主要形式>在明確和準確計時的環境中使用24小時制的時間非常重要,例如公共交通時間表。儘管如此,在英國使用不一致: ,列車時刻表通常使用24小時時間,但指示時間>限制(例如在公交車道上)的路標通常使用12小時時間。

因此,我的評論所說的塞爾吉奧,你可能需要使用地理定位來確定適當的用戶默認設置,然後在用戶界面中暴露的設置,讓用戶微調此設置。

相關問題