Вот мой фрагмент кода. Мой местный часовой пояс - «Азия/Мумбаи».Часовой пояс становится GMT, хотя я переопределяю часовой пояс
SimpleDateFormat isoFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
Date date1 = isoFormat.parse("03/01/2016 09:01 AM");
isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Mumbai"));
isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
System.out.println("Current Date and Time in IST time zone: " + isoFormat.format(date1));
Но на выходе я получаю:
текущей даты и времени в IST временной зоне: 01 марта 2016 г. 3:31:00 GMT
Может кто-нибудь сказать, почему переопределение часовой пояс, который также мой местный часовой пояс может изменить его на GMT?
Хотя тот же код работает отлично для JST или SGT.
isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Singapore"));
isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
System.out.println("Current Date and Time in SGT time zone: " + isoFormat.format(date1));
isoFormat.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));
isoFormat.applyPattern("dd MMM yyyy HH:mm:ss z");
System.out.println("Current Date and Time in JST time zone: " + isoFormat.format(date1));
Выход:
Текущая дата и время в SGT часового пояса: 01 Мар 2016 11:31:00 SGT
Текущая дата и время в часовом поясе JST: 1 марта 2016 12:31 : 00 JST
Да, я должен был проверить список. Я думаю, что будет лучше, если мы будем использовать https://en.wikipedia.org/wiki/List_of_tz_database_time_zones – Learner