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 に答える