Data é decrementada em um na hora da conversão

Olá pessoal, me desculpem pelo post, pois já até encontrei outros tratando do problema, mas infelizmente comigo não resolveu, então decidi criar esse post pra ver se mais alguém pode me ajudar!
Tenho um formulário de cadastro de usuário e nele pede a data de nascimento, no código fonte usando jsf2 uso a tag f:convertDateTime, já usei testando todas as opções de valores possíveis para ela e ainda assim ao inserir a data no banco a mesma está com um dia decrementado, por exemplo: 28/06/1981, para o banco vai 1981-06-27, isso ta me tirando o sono!!! :). Na propriedade da classe eu tenho um tipo java.util.Date, já tentei usar o tipo java.sql.Date, é lançada uma exceção mas mesmo assim na exceção a parece a data decrementada!

Por favor, se alguém puder me dá uma ajudinha, desde já agradeço!

Abraços a todos!

Veja se ajuda http://www.guj.com.br/java/198626-resolvido-fconvertdatetime-subtraindo-um-dia-da-data-informada

É quase certo que é problema de timezone.

Tente configurar um timezone para a sua aplicação e então, com o converter, você puxa a data com o timezone passado. Tente algo mais ou menos assim:

Passa um parâmetro via web.xml

<context-param> <param-name>timezone</param-name> <param-value>GMT-X</param-value> </context-param>

onde X é a quantidade a ser adicionada ou retirada.

Na hora do converter, faça algo semelhante ao código abaixo:

<f:convertDateTime pattern="MM/yyyy" timeZone="#{initParam.timezone}"/>  

Tente ver se assim funciona para o seu caso.

amigo muito obrigado pela dica, mas já havia testado essa solução aí e não tinha resolvido, mas cara, muito obrigado mesmo pela prontidão da resposta!!! juntei um pouco da dica do amigo grinvon e fiz assim, patern=“dd/MM/yyyy” timeZone=“GMT-3” e funfou legal!!!

Que bom q conseguiu resolver!

[quote=Grinvon]É quase certo que é problema de timezone.

Tente configurar um timezone para a sua aplicação e então, com o converter, você puxa a data com o timezone passado. Tente algo mais ou menos assim:

Passa um parâmetro via web.xml

<context-param> <param-name>timezone</param-name> <param-value>GMT-X</param-value> </context-param>

onde X é a quantidade a ser adicionada ou retirada.

Na hora do converter, faça algo semelhante ao código abaixo:

<f:convertDateTime pattern="MM/yyyy" timeZone="#{initParam.timezone}"/>  

Tente ver se assim funciona para o seu caso.[/quote]

Putz! Grinvon, vcs são os caras mesmo, fiz o seguinte: partindo da sua linha de raciocínio juntei o patern=“dd/MM/yyyy” e o timeZone=“GMT-3” direto na tag f:convertDateTime ao invés de fazer referência ao web.xml e funfou blz!!! Valeu mesmo pela dica e compartilhar sua experiênca!!! Abraços.

Rapaz, isso é muito estranho, rapaziada, tentei inclusive com a soluções que vocês indicaram, mas acontece que em algumas datas o dia continua sendo decrementado…Tou achando que deve diferentes timezone, entre o banco (MySQL) e o hibernate/jpa.

Moço de deus, não sei como resolver isso, alguém aí sabe como alterar o timezone no mysql no windows!??