我已设法使用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,我希望它能在结束时显示确切的时间。谢谢你的帮助!
答案 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"));