Hora muito louca

6 respostas
M

Bom Dia!

Tenho uma função java que instancia um date e uma funcao que instancia um calendar, minha hora do micro (modo gráfico, bios, tudo mais esta certinha - ja conferi!) porém quando peço para imprimir a data sendo 9 da manha a função me mostra 6 horas…

Date d = new Date();
System.out.println(d);

Me mostra a data certa mas a hora errada…
8O

Em algumas máquinas executa certo, alguém saberia por que?

Muito grata, :razz:
Maria Ane,
Att,

6 Respostas

G

Olá, mariaad!

Isto está parecendo erro de configuração de fuso-horário. Parece que está com o fuso-horário dos EUA por exemplo - 3 horas de diferença agora.

F

eh o q parece mesmo…
da uma testada neste codigo abaixo…
exeecuta ele mexendo ali no time zone para ver em qual esta o teu pc

TimeZone timeZone = TimeZone.getTimeZone("GMT-8:00");
Calendar c = Calendar.getInstance(timeZone);
System.out.println(c.get(Calendar.HOUR_OF_DAY) + ":" + c.get(Calendar.MINUTE));
D

humm isso deve ser a propriedade da maquina que ele está pegando.
A sua maquina o SO é ingles ou algo do genero?
ao meu ver é a unica explicação, conforme o nosso colega falou, fuso horario. Tente alterar a propriedade dela para o fuso horario local, deve ser isso. Embora a hora esteja certa, ela está pegando a partir do fuso horario setado nela, algo do genero.

S

“fabiofalci”:
eh o q parece mesmo…
da uma testada neste codigo abaixo…
exeecuta ele mexendo ali no time zone para ver em qual esta o teu pc

TimeZone timeZone = TimeZone.getTimeZone("GMT-8:00"); Calendar c = Calendar.getInstance(timeZone); System.out.println(c.get(Calendar.HOUR_OF_DAY) + ":" + c.get(Calendar.MINUTE));

Mas o Brasil é GMT -3.

M

Não consegui arrumar o fuso horário na máquina uma vez que aparentemente está certo (América - SP) só o BRT que esta como UTC se não me engano mas não estou conseguindo mudar, porém usei o código do TimeZone e funcionou!!!

Muitíssimo Obrigada!!! :grin:
Maria Ane,
Att,

G

Certo… mas não acho muito legal setar o fuso-horário no código, já que nosso horário muda de tempos em tempos - horário de verão.
É bom, então, que realmente pegue o horário do sistema, que você tem mais liberdade para modificar depois.
Imagina ter que mudar o código toda vez que entrar ou sair do horário de verão?

Bjs,

Criado 24 de março de 2005
Ultima resposta 24 de mar. de 2005
Respostas 6
Participantes 5