Рекомендованный способ установки настроек языка Java по умолчанию - сделать это с помощью настроек языка оболочки / операционной системы.Например, в UNIX / LINUX локаль по умолчанию определяется переменными среды.
Следующая информация взята из FAQ по интернационализации Java :
Могу ли я установить язык по умолчанию вне приложения?
Это зависит от реализации используемой вами платформы Java.Исходный языковой стандарт по умолчанию обычно определяется из языкового стандарта операционной системы хоста.Версии JRE Sun версии 1.4 и выше позволяют вам переопределять это, устанавливая системные свойства user.language, user.country и user.variant из командной строки.Например, чтобы выбрать языковой стандарт ("th", "TH", "TH") в качестве исходного языкового стандарта по умолчанию, вы должны использовать:
java -Duser.language = th -Duser.country = TH -Duser.variant = TH MainClass
Поскольку не все среды выполнения предоставляют эту функцию, ее следует использовать только для тестирования.
РЕДАКТИРОВАТЬ
Вопрос задается следующим образом:
Я специально ищу, чтобы изменить формат даты и времени, чтобы сделать его совместимым со стандартом ISO-8601 (военное время), но я не смог найти подходящих для этого подходящих средств.
Похоже, вы хотите выборочно переопределить некоторые аспекты текущей локали, а не изменять их полностью.Простой способ сделать это - заставить приложение работать;т.е. использовать указанный формат даты, а не формат по умолчанию, заданный текущей локалью.Но если приложение имеет закрытый исходный код, у вас может не быть возможности изменить его.
Это можно обойти с помощью следующего подхода:
- Выясните, как Java реализует разрешение троек локали (страна / язык / вариант) для объектов локали.
- Для каждой локали, которую необходимо поддерживать, создайте подкласс для существующих классов локали (и т. Д.), Чтобы реализовать новыйвариант, который использует форматы даты / времени ISO.
- Создайте JAR, содержащий ваши пользовательские классы или ресурсы, и добавьте его в путь к классам.(Возможно, вам понадобится добавить JAR в путь к загрузочному классу и т. Д., Чтобы заставить это работать)
Наконец, если приложение не использует механизмы локали, чтобы решить, какой формат даты использовать, любые изменения основаны нана изменение локали не будет никакого влияния.