我对Android有些新意,但已注意到许多程序员的建议,即在我的项目中使用JodaTime进行所有时间计算。但是我似乎无法使用JodaTime将UTC时间转换为澳大利亚时区。我应该为澳大利亚重新编译JodaTime吗?如果是这样,怎么样? 我尝试使用DateTimeZone.getAvailableIds()函数,但返回的数组没有列出任何澳大利亚时区。
有人可以解释我需要做什么吗会非常感激吗? 感谢
答案 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)
。)