The recommended way to set the default Java locale settings is to do it via the shell / operating system locale settings. For example, on UNIX / LINUX the default locale is determined by environment variables.
The following information is from the Java Internationalization FAQ:
Can I set the default locale outside an application?
This depends on the implementation of
the Java platform you're using. The
initial default locale is normally
determined from the host operating
system's locale. Versions 1.4 and
higher of Sun's JREs let you override
this by setting the user.language,
user.country, and user.variant system
properties from the command line. For
example, to select Locale("th", "TH",
"TH") as the initial default locale,
you would use:
java -Duser.language=th
-Duser.country=TH -Duser.variant=TH MainClass
Since not all runtime environments
provide this feature, it should only
be used for testing.
EDIT
The question asks this:
I'm looking specially to change the datetime format to make it ISO-8601 compliant (military time), but I was not able to find the proper proprieties for this.
You appear to be want to selectively override certain aspects of the current locale, rather than change it entirely. The simple way to do this is to have the application do the work; i.e. use a specified date format rather than the default format given by the current locale. But if the application is closed source, you may not have the option of changing it.
It might be possible to work around this with the following approach:
- Figure out how Java implements the resolution of locale triples (country/language/variant) to locale objects.
- For each locale that you need to support, subclass the existing locale classes (etc) to implement a new variant that uses ISO date/time formats.
- Create a JAR containing your custom classes or resources, and add it to the classpath. (You might need to add the JAR to the bootclasspath, etc to get this to work)
Finally, if the application is not using the locale mechanisms to decide what date format to use, any changes based on changing the locale will have no effect.