Преобразование зоны местного времени к GMT в Java

Пробую преобразовывают дату, которая находится в зоне местного времени к GMT, я сделал некоторую вещь как это

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        String gmtStrDate = sdf.format(Calendar.getInstance().getTime());

        System.out.println("GMT 1"+gmtStrDate);

        Date gmtDate = sdf.parse(gmtStrDate);

        System.out.println("GMT 2"+gmtDate);

я получаю GMT 1 o/p в GMT tz, но GMT 2 o/p снова изменяется на зону местного времени... Может какой-либо телефон меня почему?

для получения GMT 2 o/p в GMT, мне действительно нравилось это:

Календарный календарь = Calendar.getInstance (TimeZone.getTimeZone ("GMT")); calendar.setTime (gmtDate);

        System.out.println("GMT 3 = "+calendar.getTime());

но все еще 3o/p GMT входит в локальный tz. Предложите на этом.

7
задан skaffman 13 January 2010 в 08:49
поделиться

2 ответа

После «анализа» вы должны снова отформатировать его перед печатью, например :

System.out.println("GMT 2"+sdf.format(gmtDate));

EDIT : Причина твой Gmtstrdate не храняет информацию о часовой зоне

2
ответ дан 6 December 2019 в 10:50
поделиться
import java.util.*;
import java.text.*;
public class CurrentTimeToGMT{
  public static void main(String args[]){
    Date date = new Date();
    DateFormat gmtFormat = new SimpleDateFormat();
    TimeZone gmtTime = TimeZone.getTimeZone("GMT");
    gmtFormat.setTimeZone(gmtTime);
    System.out.println("Current Time: "+date);
    System.out.println("GMT Time: " + gmtFormat.format(date));

  }
}

Выход

Current Time: Wed Mar 10 11:21:18 IST 2010

GMT Time: 3/10/10 5:51 AM
16
ответ дан 6 December 2019 в 10:50
поделиться
Другие вопросы по тегам:

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