Urgente! Rich:calendar retorna um dia a menos (Horario de verao)

9 respostas
A

Boa tarde companheiros,
estou com um problema que está me deixando sem dormir… nao sei mais oque faço.
tenho uma pagina jsf com um rich:calendar ao clicar no dia 18/10/2009 ele vai para o dia 17/10/2009 ele subtrai um dia devido a troca do horario de verao q entra em vigor no dia 18.
Ja usei TimeZone para setar o fuso-horario mas nao adiantou…

esse é o metodo

public TimeZone getTimeZone(){

return Calendar.getInstance(TimeZone.getTimeZone(America/Sao_Paulo)).getTimeZone;

}

e no faces <rich:calendar timeZone="#{convertee.timeZone}" >

ou o <f:convertDateTime timeZone="#{convertee.timeZone}" /> mas nada vai alterei o timeZone padraom para todos os ID´s(America/Cuiaba, Etc/GMT-2)

mas nada funciona.

se alguem souber o que fazer nao sabe o grande galho que vai me quebrar.

agradeço antecipadamente.   :shock:

abraço

9 Respostas

Sandro.Santos

Galera,

Estou com o mesmo problema aqui no trampo, se alguém tiver algum solução…

[]´s

Sandro

D

Cara, estou com o mesmo erro.
Eu consegui fazer com que a data ficasse correta mas tive que desabilitar o ajuste automático do horário de verão do windows.
É uma solução mas não serve.
Queria uma maneira para configurar isso via código.

Alguém poderia ajudar!?

J

Olha…descobri isso hoje, num teste de software. Havia testado antes, e não havia visto esse problema.

A

Eu consegui resolver o problema com uma “gambiarra” não teve jeito…
no rich faces quando era selecionado o dia 18/10 ou 11/10(dependendo da versão do S.O) ele voltava um dia pois do dia selecionado eram retiradas duas hora ficando 17/10/2009 23:00 então fiz via javascript para quando o horário da data selecionado fosse 23:00 ele joga um dia a mais e 00 horas.
Não teve timeZone, SimpleTimeZone… nada que resolvesse o caso…

abraços

D

Como vc fez isso através de javascript!?

B

realmente o locale, e pelo jeito o time-zone, não funcionam passando via parametros dos componentes. em outros casos o que tem funcionado para mim é configurar o locale via faces-config mesmo:

<application> <locale-config> <default-locale>pt_BR</default-locale> <supported-locale>pt_BR</supported-locale> </locale-config> </application>
ai quem sabe o richfaces para de meter o dedão onde não foi chamado :wink:

D

Testei isso e não deu certo.
O problema persiste…

afabbro

Tive o mesmo problema com as datas retornando um dia, depois só funcionou colocando o timezone no converter, da seguinte forma:
<f:convertDateTime pattern=“dd/MM/yyyy” timeZone=“Brazil/East”/>

A

Troque o Driver do ORACLE para um driver mais novo, isso resolve o problema quando a data estiver gravada, para reolver o problema da tela é com o <f:convertDateTime mesmo…

Criado 25 de julho de 2009
Ultima resposta 5 de jul. de 2013
Respostas 9
Participantes 7