数字、日期、时间客制化问题
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
世界各地的风俗和语言习惯不同,其数字、货币、时间、日期、国家名称显示形式也是不尽相同。
android引入了ICU4C(External)解决了这些国际化的问题,下面列出了常见的客制化的问题。
[SOLUTION]
1、数字、货币
各个国家数字以及数值表示方式不同,如英文2.46,阿拉伯语为,,而俄文却是2,46。如果系统语言为俄文,想要把数字显示成英语格式,按照如下:
NumberFormat inf = NumberFormat. getInstance(new Locale(“en”));
String str = nf.format(2.46);
有关货币、int、percent等类型格式化具体可参考NumberFormat.java
2、时间、日期
关于时间格式化和数字差不多,具体例子如下:
SIMpleDateFormat sdf = new SimpleDateFormat(“hh:mm”,new Locale(“en”));
String result = sdf.format(mCalendar.getTime());
SimpleDateFormat sdf = new SimpleDateFormat(“EEEE, MMMM d”,new Locale(“en”));
String result = sdf.format(mCalendar.getTime());
3、其他ICU资源
一些ICU字串,如日期、语言、时区、国家等的翻译在External/icu4c/data/下各个子目录下,常见如:
lang:各种语言对其他语言的翻译,常见地方为Setting的语言列表。
locale:月份、星期、日期、AM/PM等日期相关的翻译。
zone:时区名称定义。
region:地区、国家名称。
世界各地的风俗和语言习惯不同,其数字、货币、时间、日期、国家名称显示形式也是不尽相同。
android引入了ICU4C(External)解决了这些国际化的问题,下面列出了常见的客制化的问题。
[SOLUTION]
1、数字、货币
各个国家数字以及数值表示方式不同,如英文2.46,阿拉伯语为,,而俄文却是2,46。如果系统语言为俄文,想要把数字显示成英语格式,按照如下:
NumberFormat inf = NumberFormat. getInstance(new Locale(“en”));
String str = nf.format(2.46);
有关货币、int、percent等类型格式化具体可参考NumberFormat.java
2、时间、日期
关于时间格式化和数字差不多,具体例子如下:
SIMpleDateFormat sdf = new SimpleDateFormat(“hh:mm”,new Locale(“en”));
String result = sdf.format(mCalendar.getTime());
SimpleDateFormat sdf = new SimpleDateFormat(“EEEE, MMMM d”,new Locale(“en”));
String result = sdf.format(mCalendar.getTime());
3、其他ICU资源
一些ICU字串,如日期、语言、时区、国家等的翻译在External/icu4c/data/下各个子目录下,常见如:
lang:各种语言对其他语言的翻译,常见地方为Setting的语言列表。
locale:月份、星期、日期、AM/PM等日期相关的翻译。
zone:时区名称定义。
region:地区、国家名称。
沙发,小编,每天给你回帖有额外的奖励否?
板凳 小编每天无私奉献 囊中羞涩啊
每天顶小编的,只有偶