Problemas em recuperar campo data do banco

Pessoal, estou tendo problemas em recuperar campos de data do banco. Ocorre o seguinte quando tento recuperá-los, o programa me traz a data do seguinte formato:[quote]2005-05-17 16:33:10.920
[/quote]
Sendo que eu precisaria trazê-la da seguinte forma:[quote]
17-05-2005[/quote]Estou fazendo da seguinte maneira para trazer os dados do banco:while (rs.next()){ Date data = rs.getDate("data"); Date datasolucao = rs.getDate("datasolucao"); Date datafechamento = rs.getDate("datafechamento"); out.println(data); out.println(datafechamento); out.println(datasolucao); }
O resultado dos “out.println” que estou fazendo são:[quote]
2005-05-17 16:33:10.920
2005-05-18 15:35:08.540
2005-05-18 15:38:20.320
[/quote]
Agradeço se alguém puder me ajudar.

Tenta usar import java.text.DateFormat assim

Pega o local configurado no S.O. no caso Brasil então o formato da data é dd/mm/aaaa

Locale locale = Locale.getDefault();

O DateFormat.SHORT é o formato q pode ser com ou sem o dia da semana da uma olhada na documentação da classe DateFomate e locale é o local tipos de data para cada local

DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale); dt_entrada_aux = df.format(dt_entrada);

Tenta isso ai:

while (rs.next()){         
Date data = rs.getDate("data");
Date datasolucao = rs.getDate("datasolucao");
Date datafechamento = rs.getDate("datafechamento");

String formato = "dd/MM/yyyy"
SimpleDateFormat formatador = new SimpleDateFormat(formato);

String dia = formatador.format(data);
String diasolucao = formatador.format(datasolucao);
String diafechamento = formatador.format(datafechamento);

out.println(dia);
out.println(diasolucao);
out.println(diafechamento);
} 

Testa ai eu acho que isso irá resolver seus problemas.

Valeu pessoal pela dica, funcionou. O que estou tentando fazer agora e que gostaria de que se possível me ajudassem é a trazer a data no formato dia/mes/ano hora:min:seg AM ou PM. Tipo:[quote]6/7/2005 7:38:36 AM [/quote]
Agradeço se puderem me dar uma ajuda.

Problemas é formatação de datas é a coisa mais comum de acontecer…
o correto seria vc pensar em uma classe utilitária para tratar isso…formatar a data de acordo com o formato que vc precisar no momento…
Por acaso eu tenho uma classe como essa pronta…

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class FormatHelper {
  private static FormatHelper instance = new FormatHelper();
  private SimpleDateFormat dataCompleta=new SimpleDateFormat("dd/MM/yyyy hh:mm");
  private SimpleDateFormat dataSimples=new SimpleDateFormat("dd/MM/yyyy");
  private SimpleDateFormat dataDatabase=new SimpleDateFormat("yyyy-MM-dd hh:mm");

  public static FormatHelper getInstance() {
    return instance;
  }
  private FormatHelper() {
  }
  public String fullDateFormat(java.util.Date data) {
    if(data==null || data.equals("")) return "";
    else return dataCompleta.format(data);
  }
  public String simpleDateFormat(java.util.Date data) {
    if(data==null || data.equals("")) return "";
    else return dataSimples.format(data);
  }
  public String databaseDateFormat(java.util.Date data) {
    if(data==null || data.equals("")) return "";
    else return dataDatabase.format(data);
  }
  public java.util.Date parseSimpleDate(String data) throws ParseException {
    if(data==null || data.equals(""))
      return null;
    else {
      return dataSimples.parse(data);
    }
  }
}

Como eu uso???

FormatHelper.getInstance().simpleDateFormat(objeto.getData())

Atenção…como vc pode ver a classe é singleton…portanto vc nunca vai dar um NEW nela…sempre vai usar a sua instancia como segue acima.
FormatHelper.getInstance().metodo

Qualquer dúvida é só postar!

[]'s

Desculpe minha ignorância Diana, mas se possível gostaria que me indicasse como posso fazer para utilizar este seu código dentro de meu programa .java[code]package Conexao_Novo;

import java.sql.*;
import java.math.BigDecimal;
import java.util.Date;

public class Conexao_teste_meuschamados{
public static void main(String args[]){

    String odbc = "jdbc:odbc:helpdesk";
    String usuario = "dcarvalho";       
    
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection conn = DriverManager.getConnection(
            odbc, "helpdesk", "1234");
        Statement stmt = conn.createStatement();
	   ResultSet rs = stmt.executeQuery("SELECT * FROM chamado_teste where usuario='"+usuario+"' order by cod_chamado desc");
	   
	   while (rs.next()){	           	
	       	BigDecimal codchamado = rs.getBigDecimal("cod_chamado");
	       	Date data = rs.getDate("data"); 		       	
			String cod_tipochamado = rs.getString("tipochamado");
			String cod_sistema = rs.getString("sistema");
			String prioridade = rs.getString("prioridade");
			String descricao = rs.getString("descricao");
			String solucao = rs.getString("solucao");
			Date datasolucao = rs.getDate("datasolucao");
			Date datafechamento = rs.getDate("datafechamento");
			String status = rs.getString("status"); 				
			String resp = rs.getString("responsavel");
			String nota = rs.getString("satisfacao");    
	           
			System.out.println(codchamado);
			System.out.println(data);
			System.out.println(cod_tipochamado);
			System.out.println(cod_sistema);
			System.out.println(prioridade);	               
			System.out.println(descricao);
			System.out.println(datafechamento);
			System.out.println(status);
			System.out.println(resp);
			System.out.println(nota);
	        System.out.println(datasolucao);
	        System.out.println(solucao);
       } 
           
	} catch (Exception e) { 
	    System.out.println("Não foi possível conectar ao banco" + e.getMessage()); 
	}
}

}

[/code]
Para que a data vinda do banco pegasse o formato dataCompleta. Agradeço se puderes me ajudar.

Caro colega…obviamente vc deve ter a classe utilitaria em algum pacote da sua aplicação…

e depois é só:

System.out.println(FormatHelper.getInstance().simpleDateFormat( 
datafechamento)); 
System.out.println(status); 
System.out.println(resp); 
System.out.println(nota); 
System.out.println(FormatHelper.getInstance().simpleDateFormat( 
datasolucao)); 
System.out.println(solucao); 

[]'s

Diana, ocorre que como estou buscando os dados do banco, se busco os mesmos da seguinte forma:Date datasolucao = rs.getDate("datasolucao"); A data me é retornada da seguinte maneira:[quote]07/06/2005[/quote]E assim não adianta eu pegar o seu código, pois não tenho a hora e os minutos para trabalhar, sendo que se utilizo:String datasolucao = rs.getString("datasolucao");A data me é retornada da seguinte maneira:[quote]2005-05-16 14:55:41.177[/quote]Que seria a maneira ideal para ser utilizada em seu código, só que pelo fato de ser uma string, não consigo utilizar o seu[quote]System.out.println(FormatHelper.getInstance().simpleDateFormat(
datafechamento)); [/quote]Saberia me indicar como eu faria para resolver isto.

:roll:
Bom, acho que a idéia é vc olhar a classe utilitaria e adaptar ela para vc.

De qualquer forma, vc sempre pode “brincar” com a String retornada…

String data = new String("12/12/2005 12:25");
String out = data.substring(0,10);
String dt[]=out.split("/");
System.out.println(dt[0]+"/"+dt[1]+"/"+dt[2]);

:wink:

[]'s