タイムゾーンリストを作成して、ユーザーが選択できるように表示したいと思います。表示名は次のようにする必要があります。
( GMT 5:30 ) India Standard Time(Asia/Calcutta)
私はすべてのタイムゾーンを使用しTimeZone.getAvailableIDs()
てリストを作成しています。私が書いたコードは次のとおりです。
String[] timeZones = TimeZone.getAvailableIDs();
List<String> tzList = new ArrayList<String>();
for (String timeZone : timeZones)
{
TimeZone tz = TimeZone.getTimeZone(timeZone);
StringBuilder timeZoneStr = new StringBuilder();
timeZoneStr.append("( GMT ").append(tz.getRawOffset() / (60 * 60 * 1000)).append(" ) ").append(tz.getDisplayName()).append("(").append(timeZone).append(")");
tzList.add(timeZoneStr.toString());
System.out.println(timeZoneStr.toString());
}
出力のスニペットは次のようになります。
( GMT 5 ) Maldives Time(Indian/Maldives)
( GMT 5 ) Pakistan Time(PLT)
( GMT 5 ) India Standard Time(Asia/Calcutta)
( GMT 5 ) India Standard Time(Asia/Kolkata)
( GMT 5 ) India Standard Time(IST)
しかし、私が取得する必要のある出力は次のとおりです。
( GMT 5:0 ) Maldives Time(Indian/Maldives)
( GMT 5:0 ) Pakistan Time(PLT)
( GMT 5:30 ) India Standard Time(Asia/Calcutta)
( GMT 5:30 ) India Standard Time(Asia/Kolkata)
( GMT 5:30 ) India Standard Time(IST)
5:30を取得するにはどうすればよいですか?