Hora errada

Ola All

Estou tentando pegar a hora em java mas ela vem com 3 horas a mais do horario correto tipo:

Sao 09:43 e vem 12:43 abaixo o codigo:

        Locale locale = new Locale("pt","BR"); 
        GregorianCalendar calendar = new GregorianCalendar(); 
        gCal.add(calendar.SECOND,1);
        String timeTxt = formatter.format(gCal.getTime());
        if (jLabel5 != null)
            jLabel6.setText(timeTxt);

Alguem teria alguma ideia do que acontece?

Grato

Renato

Tenta isso aqui broder:

Date data = new Date(System.currentTimeMillis());

Cara você tá criando uma variavel do tipo locale e não está usando pra nada.
Tenta passar ela como argumento pro construtor do GregorianCalendar e vê se funciona.

Tente assim:

Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT-3") , new Locale("pt_BR"));

Valeu Galera, problema resolvido:


        GregorianCalendar dtI = new GregorianCalendar(TimeZone.getTimeZone("GMT-3"),new Locale("pt_BR"));
        Date data = dtI.getTime();
        data.setHours(data.getHours() - 3);
        dtI.setTime(data);
        Timestamp dtIni = new Timestamp(dtI.getTimeInMillis());
        String timeTxt = formatter.format(dtI.getTime());
 
        jLabel6.setText(timeTxt);

Grato Renato