2012-03-05 52 views
2

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

有人可以请解释我需要做什么,将非常感激? 感谢

+0

你有哪个版本的Joda时间 - 它是Android专门的“减少”版本吗?应该有几个,如“澳大利亚/墨尔本”和“澳大利亚/悉尼”。 – 2012-03-05 07:10:54

+0

它是版本2.0。它直接从SourgeForge网站下载。它只是那里列出的“标准”分发ZIP文件。我看到现在有2.1版本。我会下载它,看看是否有任何区别。 – user917051 2012-03-05 22:21:39

+0

这真的不应该是问题。 getAvailableIds返回的集合有多大? – 2012-03-05 22:23:25

回答

1

在回答你的最后的评论,如果你只是要过滤的时区的开始与澳大利亚(或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)。)

+0

你在android上使用'Mobile Express Checkout Library'吗?如果是的话,请帮助我在这[问题](http://stackoverflow.com/questions/9499836/android-how-do-i-pass-the-payment-details) – Praveenkumar 2012-03-06 06:42:54

+0

@SpK:不,我是不怕。我从来没有做过任何Android开发...... – 2012-03-06 06:57:46

+0

好吧,先生。但是,非常感谢您通过评论的回复。 – Praveenkumar 2012-03-06 07:20:30

相关问题