2016-03-01 4 views
1

Вот мой фрагмент кода. Мой местный часовой пояс - «Азия/Мумбаи».Часовой пояс становится 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

ответ

0

Попробуйте с ниже код:

isoFormat.setTimeZone (TimeZone.getTimeZone ("Asia/Калькутта"));

Смежные вопросы