Conversión de zona horaria local a GMT en java

Estoy intentando convertir la fecha que está en la zona horaria local a GMT, hice algo como esto

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);

estoy obteniendo GMT 1 o / p en GMT tz pero GMT 2 o / p está cambiando nuevamente a la zona horaria local ... ¿Puede alguien decirme por qué?

para obtener el GMT 2 o / p en GMT me gustó esto:

Calendar calendar = Calendar.getInstance (TimeZone.getTimeZone ("GMT")); calendar.setTime (gmtDate);

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

pero aún así GMT 3o / p estoy entrando en tz local. Por favor sugiera sobre esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta