我正在寻找一组命令行参数,以便为Java应用程序强制设置特定的区域设置。假设我无法修改该应用程序,因此必须使用“java -Dmy.prop =“value””设置属性。
我特别想要更改日期/时间格式,使其符合ISO-8601标准(军事时间),但我找不到适当的属性来实现这一点。
我特别想要更改日期/时间格式,使其符合ISO-8601标准(军事时间),但我找不到适当的属性来实现这一点。
我怀疑解决这个问题的正确方法是提供一个新的Locale
变体,例如en_US_mil
。
<language code>[_<country code>[_<variant code>]]
通过实现java.util.spi和java.text.spi服务机制中的类,可以实现此操作。
user.timezone=UTC
user.country=CA
user.variant=
user.language=en
file.encoding=utf8
你可以使用加拿大,因为它是使用 ISO 8601 格式的国家之一。
file.encoding
系统属性会导致未定义的行为:http://bugs.sun.com/view_bug.do?bug_id=4163515 - McDowell