2014-02-21 3 views
1

В настоящее время языком отображения и языка Windows 7 является английский. Поэтому короткий формат времени «ч: мм тт»Как использовать java7 для получения текущего формата времени Windows

Выполните следующий код:

Date today = Calendar.getInstance().getTime();    
DateFormat timeFormatter = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.getDefault()); 
String dateOut = timeFormatter.format(today); 
System.out.println("short: " + dateOut); 

Получить результат: короткий: 10:36 утра

Затем изменить короткий формат времени «H: мм», запустите код еще раз, все равно получите результат: короткий: 10:36 утра Но что я ожидаю коротко: 10:36

И я не хочу, чтобы жестко закодировать формат шаблон, он должен следует соблюдать короткие изменения формата времени.

У кого-нибудь есть идеи? Большое спасибо.

+0

Возможного языка по умолчанию вашего 'en_US'. DateFormat.SHORT для en_US всегда am/pm. Просто посмотрите [docs] (http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html) –

+0

Мой язык по умолчанию - en_US, и я знаю, что java извлекает информацию локали по умолчанию из localedata.jar , Но есть ли способ получить пользовательский короткий формат из Win7 'Regional and Language Options'? – tsubasakyo

+0

set 'Locale' в соответствии с вашими потребностями –

ответ

0

Попробуйте:

Date today = Calendar.getInstance().getTime(); 
SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm"); 
String dateOut = dateFormat.format(today); 
System.out.println("short: " + dateOut); 
+0

Я не хочу его жестко кодировать. – tsubasakyo

+0

Пожалуйста, посмотрите [DateFormat.SHORT] (http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html) –

+0

Взгляните, хорошая демонстрация есть [несколько языков для вашего java приложение] (http://blog.cedric.ws/multiple-languages-for-your-java-application) –

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