是否可以更改要使用的默认语言环境?每次我需要解析/打印日期时,我都不想明确告诉withLocale
。
答案 0 :(得分:3)
两个选项:
最简单的方法是在JVM级别全局设置语言环境,例如Locale.setDefault(Locale.FRENCH);
如果这对您的应用程序来说太具侵略性,那么只需编写您自己的格式化程序工厂,它返回具有正确语言环境的格式化程序(它们甚至可以是静态单例,回想一下Jodatime格式化程序是不可变的和线程安全的)。 例如:
public static class MyFormattterFactory {
public static final Locale MYLOCALE = Locale.FRENCH;
public static DateTimeFormatter forPattern(String p) {
return DateTimeFormat.forPattern(p).withLocale(MYLOCALE);
}
// ... other similar methods
}