2

我已经设法使用 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() );

这带有默认时区:格林威治同时,gmt:0,欧洲/都柏林,我希望它最后显示确切的时间。谢谢你的帮助!

4

1 回答 1

2

Joda Time 有一个完整的列表Canonical ID,您可以从哪里获得 TimeZone,具体取决于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"));
于 2013-03-08T16:49:13.427 回答