2013-03-08 71 views
2

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

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()); 

这种带有默认时区:格林威治与此同时,格林尼治标准时间:0,欧洲/都柏林,我想它显示在结束的确切时间。谢谢你的帮助!

+0

@gravinSweeney是我的回答解决问题了吗? – DjHacktorReborn 2013-03-08 16:58:00

回答

2

乔达时间有一个完整的清单Canonical ID从你可以得到时区,取决于Canonical ID

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

// 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"));