Недавно я обновился до 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/
Есть ли способ чтобы он не менял цифровую систему/символы, но все же обеспечивал форматирование, характерное для языкового стандарта?