我可以更改默认语言环境吗?

时间:2013-05-14 15:12:59

标签: locale jodatime

是否可以更改要使用的默认语言环境?每次我需要解析/打印日期时,我都不想明确告诉withLocale

1 个答案:

答案 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
}