在澳大利亚的项目中使用JodaTime

时间:2012-03-05 06:42:08

标签: android timezone jodatime

我对Android有些新意,但已注意到许多程序员的建议,即在我的项目中使用JodaTime进行所有时间计算。但是我似乎无法使用JodaTime将UTC时间转换为澳大利亚时区。我应该为澳大利亚重新编译JodaTime吗?如果是这样,怎么样? 我尝试使用DateTimeZone.getAvailableIds()函数,但返回的数组没有列出任何澳大利亚时区。

有人可以解释我需要做什么吗会非常感激吗? 感谢

1 个答案:

答案 0 :(得分:2)

在回答您的最终评论时,如果您只想将时区过滤到以澳大利亚(或UTC)开头的时区,您可以使用:

// Easier with Guava, but you might not want another dependency
List<DateTimeZone> zones = new ArrayList<DateTimeZone>();
for (String id : DateTimeZone.getAvailableIds()) {
    if (id.startsWith("Australia/")) {
        zones.add(DateTimeZone.forID(id));
    }
}
zones.add(DateTimeZone.UTC);

(显然,如果您只想要ID,则需要将其设为List<String>并使用zones.add(id)。)