Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 7 da Aula 5 - Conversão e validação de dados

Estou realizando a formatação da data da seguinte forma:

<h:inputText id="dataLancamento" value="#{livroBean.livro.dataLancamento.time}">
    <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />
</h:inputText>

Se eu coloco a data 01/01/2016 é gravado no banco 31/12/2015. Está gravando sempre com uma dia anterior ao informado.

5 respostas

Não é um dia anterior, no caso é o horário de verão que incomoda muito nessa época do ano. ao retirar 1h da tua data, ele cai pro dia anterior.

solução!

Olá,

Quando crio um projeto Java EE 7 + CDI + JSF + WILDFLY pela versão mais recente do JBoss Forge, esse cria o web.xml contendo o seguinte:

<context-param>
        <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
        <param-value>true</param-value>
    </context-param>

Espero que isso possa ajudá-lo.

Olá,

Uma observação do JDK da Oracle: "Java SE 8u71 / 8u72 Java SE 8u71 includes important security fixes. Oracle strongly recommends that all Java SE 8 users upgrade to this release. Java SE 8u72 is a patch-set update, including all of 8u71 plus additional features (described in the release notes)."

Significa que o JDK 8u72 inclui acréscimos de correções (patches) que a versão JDK 8u71l não possui, nesse caso específico o primeiro tem atualizações de timezone para correção do horário de verão.

Por exemplo, um patch anterior tinha somente correções do JavaFX.

É só ler as notas de lançamento (releases notes) do JDK.

Na minha opinião, sempre faço download da versão de patch pois é mais completa.

E outro exemplo, o repositório Oracle JRE/JDK do Webupd8 para GNU/Linux Ubuntu tem sempre a versão mais completa do JRE/JDK.

Valeu, obrigado !

Olá,

Por citar atualização do Oracle JDK, excepcionalmente foi lançado mais uma atualização: http://www.oracle.com/technetwork/topics/security/alert-cve-2016-0603-2874360.html