Formatar data direto do banco para o JSF sem simpleDateFormat

Olá pessoal estou inaugurando essa categoria “Dicas Rápidas” para passar algumas coisas que for aprendendo durante meu trabalho e também uma forma de consulta posterior. Nela vou demonstrar algumas soluções rápidas para problemas que com certeza vocês já passaram ou irão passar algum dia no trabalho com Java e JSF.

Nesta primeira dica mostrarei como formatar datas ou timestamps direto do banco para a visão, sem a necessidade de utilizar o simpledateformat para formatar a data antes de inseri-la no banco.

Cadastre suas datas normalmente no banco instanciando um objeto do tipo java.util.Date ou java.sql.Timestamp caso for necessário além da data, ser cadastrado a hora do evento, os dados geralmente ficaram gravados da seguinte forma no banco

 2011-05-04

para Date

 2011-05-04 00:00:00

para Timestamp

Caso necessite mostrar no JSF essa data formatada do tipo

 04/05/2001

para Date

Simplesmente utilise o componente <f:converteDateTime> da taglig core do JSF dentro de um <h:outputtext> dessa forma:


<h:outputtext value="SeuBean.suadata">

<f:convertDateTime pattern="dd/MM/yyyy">

</h:outputtext>

Da mesma forma isso pode ser feito com o Timestamp para mostrar horas e minutos :


<h:outputtext value="SeuBean.seuTimestamp">

<f:convertDateTime pattern="dd/MM/yyyy  HH:mm:ss">

</h:outputtext>

Ou seja, o arquivo só é mostrado para o usuário que está acessando a página não importando como ela foi inserida no banco de dados e sem a necessidade de formatá-la com simpleDateFormat.

Espero que tenham gostado dessa dica rápida e conforme for aprendendo coisas novas no dia-a-dia postarei aqui.

Abraço a todos

Anúncios

Sobre kurtphpr
Ronaldo Caldas : Formado em Ciência da Computação - UNICENTRO-PR

2 Responses to Formatar data direto do banco para o JSF sem simpleDateFormat

  1. cledson says:

    por gentileza voce poderia disponibilizar os códigos java SeuBean e suadata? obrigado

    • kurtphpr says:

      Segue abaixo a classe:

       
      import java.security.Timestamp;
      import java.util.Date;
      
      @ManagedBean(name = "SeuBean")
      @RequestScoped
      public class SeuBean {
      
          private Date suaData;
          private Timestamp seuTimestamp;
      
          public Timestamp getSeuTimestamp() {
              return seuTimestamp;
          }
      
          public void setSeuTimestamp(Timestamp seuTimestamp) {
              this.seuTimestamp = seuTimestamp;
          }
      
          public SeuBean() {
      
          }
      
          public Date getSuaData() {
              return suaData;
          }
      
          public void setSuaData(Date suaData) {
              this.suaData = suaData;
          }
      
      }
      
      

Deixe seu comentário, opinião , critica ou dúvida aqui :)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: