Я запускаю свое Java-приложение на компьютере под управлением Windows 7, где мои региональные настройки настроены на форматирование дат как YYYY-mm-dd и время как HH: mm: ss (например, "2011-06-20 07:50: 28" ). Но когда я использую DateFormat.getDateTimeInstance().format
для форматирования своей даты, я не вижу, что вместо этого получаю "20 июня 2011 года 7:50:28". Что мне нужно сделать, чтобы отформатировать даты так, чтобы мои клиенты установили настройки своей ОС для отображения дат?
Вот как выглядит мой код:
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)
Однако настройки моей ОС настроены на форматирование даты, как я описал выше, и я ожидал увидеть это:
Сыграйте в ход "QB Nat vs Ian 008" (получен 2011-06-20 07:50:28)
Я искал здесь и других сайтов программирования Java и не мог найти ответ, но это похоже на такую очевидную вещь, которая хочет сделать это, я чувствую, что мне не хватает чего-то очевидного.