Я запускаю свое Java-приложение на машине с Windows 7, где в моих региональных настройках задано форматирование дат в формате ГГГГ-мм-дд и времени в формате ЧЧ: мм: сс (например, " 2011-06-20 07:50:28 "). Но когда я использую DateFormat.getDateTimeInstance (). Format
для форматирования даты, я не вижу, что вместо этого я получаю« 20 июня 2011 г. 7:50:28 AM ». Что мне делать нужно сделать, чтобы отформатировать даты так, как мои клиенты настроили свои ОС для отображения дат?
Вот как выглядит мой рассматриваемый код:
File selGameLastTurnFile = selectedGame.getLastTurn ().getTurnFile ();
Date selGameModifiedDate = new Date (selGameLastTurnFile.lastModified());
if (selectedGame.isYourTurn ()) {
gameInfo = Messages.getFormattedString ("WhoseTurnIsIt.Prompt.PlayTurn", //$NON-NLS-1$
FileHelper.getFileName (selGameLastTurnFile),
DateFormat.getDateTimeInstance().format(selGameModifiedDate));
} else {
gameInfo = Messages.getFormattedString ("WhoseTurnIsIt.Prompt.SentTurn", //$NON-NLS-1$
selGameLastTurnFile.getName (),
DateFormat.getDateTimeInstance().format(selGameModifiedDate));
}
Вызовы Messages.getFormattedString
используют MessageFormat
, чтобы поместить дату в предложение, которое будет выглядеть следующим образом:
Воспроизвести ход «QB Nat vs Ian 008» (получено 20 июня 2011 г. 7:50:28 AM)
Однако мои настройки ОС настроены на форматирование даты, как я описал выше, и я ожидал увидеть это:
Проиграть ход «QB Nat vs Ian 008» (получено 2011-06-20 07:50:28)
I искал здесь и на других сайтах, посвященных программированию на Java, и не смог найти ответ, но это кажется настолько очевидным, что я чувствую, что упускаю что-то очевидное.