2010-06-01 345 views
0

我正在使用揮杆框架和小程序。
如果我將地區設置爲en_US,則時間顯示在AM和PM中。
如果我將語言環境設置爲ms_MY,則時間顯示在Pagi和patang中。如何更改揮杆時間格式

如何在使用區域設置ms_MY時在上午和下午顯示時間?

請幫我

+0

什麼是你用來顯示給定時間Locale對象(其中,顯然,只有DateFormatSymbols將被使用)? – Gnoupi 2010-06-01 06:13:09

+0

只需0.02美元。並非每種語言環境支持都以AM,PM格式顯示時間。很多地區以24小時的方式格式化時間。 – 2010-06-02 10:29:32

回答

3

我猜你使用DateFormat對象顯示時間。我甚至假設你通過調用DateFormat.getTimeInstance()方法來獲得你的實例。你必須知道的是,通過各種get * Instance靜態方法獲得的DateFormat實例與給定的Locale綁定。因此,如果您希望顯示AM或PM,則必須在Locale.en_US上使用getTimeInstance(int style, Locale aLocale)版本。

但被警告!通過使用此方法,您的日期將以英文顯示,因此日期名稱將爲英文。它真的是你想要的嗎?我不知道,無論如何,這就是你會得到的。

通過使用SimpleDateFormat,您可以獲得更好的輸出格式精度。

編輯關於SimpleDateFormat的更新信息。

與我所說的相反,可以將AM和PM關聯到非英語小時顯示。但是,它並不是直接的,因爲SimpleDateFormat的四個構造函數中的三個使用Locale obejct來獲取它們的信息。混合各種語言信息的唯一方法是使用public SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)構造函數,這將允許您定義自己的DateFormatSymbols實例。構建這個對象留作練習。

其他三個構造函數使用默認Locale對象或

+0

你能解釋你如何與SimpleDateFormat的語言環境綁定? – Xorty 2010-06-01 08:13:59