如何从Android中的任何时区获取特定时间?

时间:2013-03-08 16:46:58

标签: java android mobile

我已设法使用TimeZone实用程序获取特定时区,现在我使用.getDefault作为示例。但是我不能在这个国家得到确切的时间,所以我想知道我将如何实现它?我必须使用日历吗?以下是我的代码。

 TimeZone tz = TimeZone.getDefault();
String TimeZoneName = tz.getDisplayName();
int TimeZoneOffset = tz.getRawOffset()/(60 * 60 * 1000);

t.setText("default time zone:" + 
        TimeZoneName + " : " +String.valueOf(TimeZoneOffset) + tz.getID() );

这是默认时区:Greenwich Meantime,gmt:0,Europe / Dublin,我希望它能在结束时显示确切的时间。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

Joda Time有Canonical ID的完整列表,您可以根据Canonical ID从中获取TimeZone。

所以,如果你想在这个时刻到纽约当地时间,你会做以下事情

// get current moment in default time zone
    DateTime dt = new DateTime();
    // translate to New York local time
    DateTime dtNewYork = dt.withZone(DateTimeZone.forID("America/New_York"));