Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在使用ICU4j格式化内容时不使用区域设置数字_Java_Internationalization_Globalization_Icu4j - Fatal编程技术网

Java 如何在使用ICU4j格式化内容时不使用区域设置数字

Java 如何在使用ICU4j格式化内容时不使用区域设置数字,java,internationalization,globalization,icu4j,Java,Internationalization,Globalization,Icu4j,我最近升级到Java8,遇到了一个日期格式化的“问题”。JDK 8允许为某些g11n/i18n函数使用提供程序,如果类路径上有ICU,它应该会选择它。这并不是一个真正的问题,而是一个意外的曲线,我的大多数函数都和前面的一样工作 我想显示今天的日期,但要使用区域设置的日期格式、十进制分隔符等。这很好,但是当我使用具有不同数字集的特定区域设置时,例如ar\u OM,它使用a,我会格式化日期,但也会使用此数字系统中的数字 代码: 我希望看到它打印出来2015/04/11,但它打印出来的是‏/٠٤‏/

我最近升级到Java8,遇到了一个日期格式化的“问题”。JDK 8允许为某些g11n/i18n函数使用提供程序,如果类路径上有ICU,它应该会选择它。这并不是一个真正的问题,而是一个意外的曲线,我的大多数函数都和前面的一样工作

我想显示今天的日期,但要使用区域设置的日期格式、十进制分隔符等。这很好,但是当我使用具有不同数字集的特定区域设置时,例如ar\u OM,它使用a,我会格式化日期,但也会使用此数字系统中的数字

代码:

我希望看到它打印出来2015/04/11,但它打印出来的是‏/٠٤‏/


有没有办法让它不改变数字系统/符号,但仍然提供特定于区域设置的格式?

有一个特定于ICU4j的修复程序,即使用
@numbers=latn
作为区域设置的变体/脚本

以下是一些细节:

    Locale arOmLocale = new Locale("ar", "OM");
    DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT, arOmLocale);
    System.out.println(df.format(new Date()));