Вопрос по timezone, timezone-offset, gregorian-calendar, calendar, java – Как получить часовой пояс из часового пояса в Java?

3

Я знаю, как получить противоположное. Для данного часового пояса я могу получить смещение часового пояса с помощью следующего фрагмента кода:

TimeZone tz = TimeZone.getDefault();
System.out.println(tz.getOffset(System.currentTimeMillis()));

Я хочу знать, как получить имя часового пояса из смещения часового пояса.

Дано,

timezone offset = 21600000 (в миллисекундах; +6,00 смещение)

Я хочу получить результат любого из следующих возможных имен часовых поясов:

(GMT+6:00) Antarctica/Vostok
(GMT+6:00) Asia/Almaty
(GMT+6:00) Asia/Bishkek
(GMT+6:00) Asia/Dacca
(GMT+6:00) Asia/Dhaka
(GMT+6:00) Asia/Qyzylorda
(GMT+6:00) Asia/Thimbu
(GMT+6:00) Asia/Thimphu
(GMT+6:00) Asia/Yekaterinburg
(GMT+6:00) BST
(GMT+6:00) Etc/GMT-6
(GMT+6:00) Indian/Chagos

Ваш Ответ

1   ответ
1

Используйте getAvailableIDs () класса TimeZone

import java.util.*;
class hello
{
   public static void main (String[] args) throws java.lang.Exception
   {
     TimeZone tz=TimeZone.getDefault();
     String a[]=tz.getAvailableIDs(21600000);
     for(int i=0;i<a.length;i++)
      System.out.println(a[i]);
  }
}
Один вопрос, если я изменю часовой пояс по умолчанию из одного потока, это повлияет на другие потоки? @JonSkeet Anonymous One
Почему вы используетеTimeZone.getDefault() совсем? Этот код будет лучше какString[] ids = TimeZone.getAvailableIds(21600000L);, Избегайте вызова статических методов, как если бы они были методами экземпляра. Jon Skeet
@AnonymousOne: я верю, да. Jon Skeet
Следующая ссылка может помочьdocs.oracle.com/javase/7/docs/api/java/util/TimeZone.html Harshit Singhvi

Похожие вопросы