Transformando smalldatetime em String

Fiz um método para transformar a data do banco no formato Datetime em string:

public static String getDataBDtoTela(String x){
java.lang.String dia, mes, ano = "";
java.lang.String data = "";
ano = x.substring(0,4);
mes = x.substring(5,7);
dia = x.substring(8,10);
data = dia +"/"+ mes + "/" + ano;
return data;
}

Agora precisava fazer o mesmo com um dado do banco que esta em smalldatetime…alguém sabe como devo fazer?

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

Oi patyagm,

você pode alterar esse código por:

final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

final Date date = new Date();

System.out.println(dateFormat.format(date));

Deu o seguinte erro na linha :final Date data = new Date(); . erroCannot find symbol - symbol:Construtor Date - location:
class java.sql.Date. Daí comentei esta linha, para ver o que aconteceria sem a mesma, porém deu o erro abaixo:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.IllegalArgumentException: Cannot format given Object as a Date
java.text.DateFormat.format(DateFormat.java:279)
java.text.Format.format(Format.java:133)
Controller.RetornaCadastro.processRequest(RetornaCadastro.java:212)
Controller.RetornaCadastro.doGet(RetornaCadastro.java:285)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.

Paty, não é bem assim que funciona, vc não comenta uma linha para “ver o que acontece”, vc tem que entender o que a linha faz, olhar a mensagem de erro e procurar corrigir, assim vc aprende, entendendo o que seu programa faz, pensando com lógica.

faça um favor a si mesma de ler esses links:

http://www.guj.com.br/java.tutorial.artigo.8.1.guj

http://www.devmedia.com.br/articles/viewcomp.asp?comp=5720

E também a documentação de SimpleDateFormat, java.util.Date e java.sql.Date

ps: o primeiro erro ocorreu porque o carneiro postou um exemplo com java.util.Date e vc pelo visto esta usando java.sql.Date

luBS, comentei a linha pois não entendi sua função nem o erro mostrado.Por isso, tentei rodar (com a linha comentada) para ver se através do erro gerado eu conseguia identificar sua lógica.
Consegui resolver da seguinte forma:

SimpleDateFormat formata = new SimpleDateFormat(“dd/MM/yyyy”);
String dataFormatada = formata.format(bp.nascimento);

vlw pela ajuda!

não me leve a mau… é só uma forma de fazer aprender, as vezes código pronto ou coisas muito mastigadas acabam prejudicando vc na sua carreira. Quando as pessoas postam uma coisa não muito direta ao seu problema, elas geralmente estão tentando te dar dicas para vc achar a solução sozinha, o que é 1000x melhor para vc.

Mas bom que conseguiu resolver :wink: o importante não é vc apenas chegar na solução e sim entender ela.