2013-06-27 5 views
3

В Java я создаю Locale с параметрами языка и страны , а затем использую соответствующие форматы дат.Java default Локальный резерв

Однако Java не поддерживает все комбинации Language_Country и резервные копии стандартных форматов локали (в моем случае en_US).

Есть ли способ определить, что произошло?

например:

Когда я создаю локаль с Locale locale = new Locale("xx","xx");

затем

((SimpleDateFormat)DateFormat.getDateInstance(DateFormat.SHORT,locale)).toLocalizedPattern();

возвращает M/d/yy так откаты в en_US. .

Так что мне нужно что-то вроде

locale.isDefault

+0

Есть вы пытались «Locale.setDefault()»? – fge

ответ

1

Вы можете проверить, что локаль один из the available locales:

Set<Locale> locales = new HashSet<>(); 
Collections.addAll(locales, Locale.getAvailableLocales()); 

Locale locale = new Locale("xx", "xx"); 
System.out.println(locales.contains(locale)); //prints false 

locale = new Locale("fr", "FR"); 
System.out.println(locales.contains(locale)); //prints true 
+0

Спасибо, мне кажется, что я ищу :) –

0

Locale.getDefault() равно (локаль)

+0

к сожалению он возвращает false для locale xx_XX –