Olá, pessoal.
Tudo bom com vocês?
Galera, estou tendo um probleminha com fuso horário.
Meu sistema trás um horário 11:20, por exemplo, mas mostra 13:20.
Imagino então que esteja sendo aplicado um fuso brasileiro.
Mas eu não entendi muito bem pq parece que ele só aplica esse fuso horário na camada view.
Na DAO, ele traz 11 horas, no controller, antes de enviar pra view ainda está como 11hs, mas ele mostra 13hs na view.
Alguem já passou por algum problema parecido?
Vi outros tópicos relacionados, mas era um pouco diferente do meu caso.
Alguma ideia?
O campo em questão está definido no modelo da seguinte forma:
@Temporal(TemporalType.TIMESTAMP)
private Date dataChamada;
R
RRaminelli
Como está sua view? Mostra o trecho onde você mostra a data.
K
Kura
Olá, André.
Não tinha visto sua msg.
Obrigado pela ajuda.
O sistema é para controle de ligações internas.
Controlar tarifa e tudo o mais.
Eles já tem um sistema pra esse controle.
O meu sistema seria para resgatar a gravação dessas ligações.
Então a hora do meu sistema tem que bater com a hora desse sistema deles.
o deles está batendo com o horário de 11hs (no exemplo que dei), mas o meu está mostrando a mesma ligação com 2 horas a mais, ou seja, 13hs.
Então, cara. Mas o que eu quero é justamente que ele não aplique timeZone.
Quero que continue o mesmo horário que está trazendo, entendeu?
Ele está buscando 11hs, como eu disse, então eu quero que ele continue mostrando 11hs e não 13hs como está fazendo.
Sacou?
K
Kura
Só corrigindo um negócio.
O campo em questão na view é o seguinte:
Eu pus o de data, mas o campo que eu estava falando mostra apenas hora, minuto e segundo da ligação.
K
Kura
Raminelle,
Eu apliquei o que você sugeriu no campo certo (eu havia postado o campo errado), modifiquei o pattern (de data pra hora) e funcionou.
Mas eu não entendi muito bem o que o JSF faz, cara.
Ele estava trazendo 11 horas, mas estava mostrando 13hs.
Achei que era pq ele estava aplicando o fuso horario brasileiro e, por isso, estava acrescentando 2 horas (diferença entre brasil e eua).
Mas aí vc falou pra eu definir locale e timezone daqui e ele buscou 11 e mostrou 11, que é o correto.
Sabe me explicar mais ou menos o porquê disso, cara?
Seria muito legal poder entender o que aconteceu.
R
RRaminelli
Você chegou a testar que enviei?
Ele vai mostrar como está no banco 11:00, pois o problema está na view.
K
Kura
só postando aqui resultado.
pra ajudar possiveis pessoas com o mesmo problema:
no banco, o registro estava com 11hs.
Na verdade não é um problema, é que a tag <f:convertDateTime pattern=“HH:mm:ss” /> formata com o timezone padrão que é o americano.
K
Kura
Rapaz…
Sinto que estou sendo muito estúpido.
Mas se a tag formata com padrão americano, a view não deveria mostrar 9hs ao invés de 13?
Pq se está trazendo do banco 11hs, aplicando um fuso americano ficaria com 2 hs a menos, não?
R
RRaminelli
Na verdade ele pega o timezone da VM do servidor… no caso pensei que o seu estive em inglês. Certo?
K
Kura
Bom… Estou rodando local e o timezone da JVM está como “America/Sao_Paulo”
o.O