В настоящее время языком отображения и языка 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
И я не хочу, чтобы жестко закодировать формат шаблон, он должен следует соблюдать короткие изменения формата времени.
У кого-нибудь есть идеи? Большое спасибо.
Возможного языка по умолчанию вашего 'en_US'. DateFormat.SHORT для en_US всегда am/pm. Просто посмотрите [docs] (http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html) –
Мой язык по умолчанию - en_US, и я знаю, что java извлекает информацию локали по умолчанию из localedata.jar , Но есть ли способ получить пользовательский короткий формат из Win7 'Regional and Language Options'? – tsubasakyo
set 'Locale' в соответствии с вашими потребностями –