如何创建区域设置敏感的新全局日期样式,或修改现有样式?

时间:2013-10-29 10:12:48

标签: actionscript-3 datetime flex localization flex4.5

我正在使用DateTimeFormatter,如下所示:

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

我确保它使用系统区域设置:

        setStyle( "locale", LocaleID.DEFAULT );

这很好用,当我切换系统的区域设置时,我会看到不同的格式。

问题在于“短”美国时间格式就像“晚上8:01”。我们受空间限制,所以我需要将其更改为24小时格式,即“20:01”。

同样的日期,有些地方我们想省略年份 - “1月11日” - 或月份的日子 - “2013年3月”。

理想情况下,我们希望定义自定义全局日期样式,而不是仅使用内置的SHORTMEDIUMLONG。但只是能够修改那些也可以。

1 个答案:

答案 0 :(得分:0)

格式来自系统设置,而不是来自属性文件。为了使格式依赖于语言环境并且可以自定义,您必须创建自己的DateFormatter实现。有了它,您可以挂钩ResourceManager以请求当前区域设置的不同格式模式。