2013-10-29 19 views
0

我使用的是DateTimeFormatter,像這樣:如何創建區域設置敏感的新全局日期樣式或修改現有樣式?

 var dateFormatter:DateTimeFormatter = new DateTimeFormatter(); 
     dateFormatter.dateStyle = DateTimeStyle.SHORT; 
     dateFormatter.timeStyle = DateTimeStyle.SHORT; 

而且我保證它使用的系統區域設置與此:

 setStyle("locale", LocaleID.DEFAULT); 

該工程確定,我看到不同的格式,當我切換我的系統的區域設置。

問題是美國的「短」時間格式就像「8:01 PM」。我們受限於空間,所以我需要將其更改爲24小時制,即「20:01」。

同樣的日期,有些地方我們想省略年份 - 「1月11日」 - 或每月的一天 - 「2013年3月」。

理想情況下,我們想定義自定義全局日期樣式,而不是僅使用內置的SHORT,MEDIUM,LONG。但只要能夠修改這些就可以了。

+0

我發現它實際上使用系統設置中的日期和時間格式。它們不能通過資源屬性進行配置。 –

回答

0

格式來自系統設置,而不是來自屬性文件。爲了使格式與區域設置相關並可自定義,您必須創建自己的DateFormatter實現。藉此,您可以掛鉤到ResourceManager以請求當前語言環境的不同格式。