java - jodatime DateTime 对象和 Locale

标签 java jodatime

鉴于已为 norwegian bokmål 和 norway 设置了此字段区域设置:

Locale locale = new Locale("nb","no"); 

返回 bokmål 语言正确字符串的方法中的代码片段缺少什么?

Assert.assertNotNull(locale);//Is asserted
MutableDateTime start = new MutableDateTime(2012,1, 10,10,0,0,0 );
start.setDayOfWeek(DateTimeConstants.SATURDAY);
System.out.println(start.dayOfWeek().getAsText(locale));
System.out.println(locale.getISO3Language().toString());

输出是“Saturday, nob” 我是否需要自己实现特定于语言环境的工作日名称字符串?如果是这样,是否有一些基础对象或接口(interface)可以在 jodatime 中覆盖?我好像找不到。

最佳答案

你的代码对我来说工作正常:

[system:/tmp]$ cat Loc.java
import org.joda.time.*;
import java.util.Locale;

class Loc {
    public static void main(String[] args) {
        Locale locale = new Locale("nb","no");
        MutableDateTime start = new MutableDateTime(2012,1, 10,10,0,0,0 );
        start.setDayOfWeek(DateTimeConstants.SATURDAY);
        System.out.println(start.dayOfWeek().getAsText(locale));
        System.out.println(locale.getISO3Language().toString());
    }
}
[system:/tmp]$ java Loc
lørdag
nob

一些尝试:

  • 尝试使用 new Locale("nb", "NO")(国家/地区是 supposed to be case-insentive,但值得一试)
  • 尝试使用 new Locale("no", "NO")new Locale("nn", "NO") - Nyorsk 可能不是您想要的正在寻找,但它有效吗?从一些谷歌搜索中,似乎某些平台可能会将 nb_NO 视为 no_NO 的别名?了解这是否有效可能很有用。
  • 确保 nb_NO 语言环境是 available .这可能是因为 getISO3Language() 似乎有效。

关于java - jodatime DateTime 对象和 Locale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508431/

相关文章:

java - JDK 1.7错误: Could not find or load main class when using command "java -cp" with multiple jars

java - 通过 Intent 启动新 Activity 时 Android NoClassDefFoundError

java - 将 sqlMapConfig 保留在 jar/classpath 之外

java - SOAP 服务中不可见或隐藏的 XML 元素

java - 切换时区进行计算

java - Joda Time : Strange behavior for leap year in Period calculation

hibernate - 从 3 迁移到 Hibernate 5

导致解析错误的Java日期解析时区

java - Java 中的 DynamoDB 格式字符串日期

scala - joda-time 导入在 Spark shell 中停止工作