11

私のタイムゾーンは UTC+03:00 です。DateTimeZone オブジェクト内に格納されます。これを実際の名前、つまりEast Africa Time/EATに変換するにはどうすればよいですか

4

3 に答える 3

11

joda を使用すると、次のようにタイムゾーンの略語または名前を取得できます

DateTimeZone dz = DateTimeZone.forID("America/New_York");
String tzid = dz.getShortName(DateTimeUtils.currentTimeMillis());
//tzid will be 'EST'

String longerTimeZoneName = dz.getName(DateTimeUtils.currentTimeMillis());
//longerTimeZoneName  will be 'Eastern Standard Time'
于 2013-11-12T18:21:25.683 に答える
5

メソッドTimeZone#getDisplayName()を使用

DateTimeZone tz = //...  
tz.toTimeZone().getDisplayName();
于 2013-04-14T21:00:34.730 に答える
1

読みやすい名前を付けるために JodaTime で何かを見つけることができませんでした。私の経験では、DateTimeZone.getName() は、より便利な名前ではなく ID を返します。したがって、「Eastern Standard Time」ではなく、「America/New_York」しか取得できません。

TimeZone.getDisplayName の提案は、Joda ではなく Java から TimeZone を使用していると想定しているようです。JodaTime の getDisplayName() が表示されません。

于 2015-06-04T18:25:06.890 に答える