2015-04-12 12 views
0

Недавно я обновился до Java 8 и столкнулся с проблемой с форматированием даты. JDK 8 позволяет провайдерам использовать определенные функции g11n/i18n, и если у вас есть ICU на пути к классам, он должен выбрать это. Это не проблема, как неожиданная кривая, причем большинство моих функций работают как предыдущие.Как не использовать цифры locales при форматировании чего-либо с ICU4j

Я хотел бы показать сегодняшнюю дату, но с форматом датировать локали, десятичный разделитель и т.д. Это идет хорошо, однако, когда я использую некоторые локали, которые имеют различный набор позици, такие как ar_OM, который использует Hindu-Arabic Numeral System, я получаю отформатированную дату, но также цифры в этой системе цифр.

Код:

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

Я хотел бы видеть его распечатать 2015/04/11, однако он печатает 11/04/

Есть ли способ чтобы он не менял цифровую систему/символы, но все же обеспечивал форматирование, характерное для языкового стандарта?

ответ

0

Существует специальное решение ICU4j, которое использует @numbers=latn в качестве варианта/скрипта в локали.

Некоторые детали выложены здесь: Formatting for a Locale

 Смежные вопросы

  • Нет связанных вопросов^_^