Convertendo Datas

3 respostas
R

Pessoal como faço para pegar uma data do banco de dados Oracle e depois colocá-la no formato que eu quizer?

Bom estou fazendo desse jeito:

Date data = new Date();
String dataBanco = new String();

try{
     Class.forName("oracle.jdbc.driver.OracleDriver");
      com2 = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORATCC","SYSTEM","TESTE");
      Statement stm2 = com2.createStatement();
      ResultSet rs = stm2.executeQuery("select trunc(Sysdate, 'DD/MM/YY') from cliente");
      while(rs.next()){
          dataBanco = rs.getString(1);
      }
}catch(Exception e){
      System.out.println("Erro" + e);
}
      SimpleDateFormat df = new SimpleDateFormat("dd.MM.yy");
      try{
          data = df.parse(dataBanco);
      }catch(Exception e){
          System.out.println("Erro na hora de converter data");
      }

quando clico em um botão peço para me demonstrar o valor da variável data ele me retorna a seguinte expresssão:

Sat Sep 22 08:26:40 BRT 2007

que é o dia de Hoje…

Não estou entendendo o que acontece…

Alguem pode me dar uma dica???

Quero retornar a data com o formato: dd/MM/yy

3 Respostas

L

Isso que ele mostra eh o toString de date…

vc tah complicando acho, no sql vc retorna em um formato especifico (o que ja naum eh bom, pq naum sei se isso funciona em outros bancos) e ainda por cima no formato string, depois cria um SimpleDateFormat no mesmo formato e entao faz parse da string vinda do banco para criar um objeto date.

Porque naum simplifica?! retorna o tipo date do banco, cria um simple date format para mostrar no formato que vc quer e formata essa data mostrando nesse formato?!

Date dt = rs.getDate("campo_data");
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		System.out.println(sdf.format(dt));
L

ops… dupliquei sem querer

R

Valeu amigo pela ajuda

consegui utilizando o seguinte código:

try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    com2 = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORATCC","SYSTEM","TESTE");
    Statement stm2 = com2.createStatement();
    ResultSet rs = stm2.executeQuery("select Sysdate as DATAHORA from dual");
    data = rs.getDate("DATAHORA");
    com2.close();
}catch(Exception e){
     error("erro na conversao de data: " + e);
}

Estou utilizando Java Server Faces

VALEUUUUUUU

Criado 22 de setembro de 2007
Ultima resposta 24 de set. de 2007
Respostas 3
Participantes 2