2013-10-29 22 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以请求当前语言环境的不同格式。