0

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

4

1 回答 1

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
}
于 2013-05-16T17:59:52.763 回答