Problemas com Datas (MySQL)

3 respostas
elementx

Boa tarde a todos!
Estou montando uma aplicação e já fiz todos os tipos de validação no Javascript e qro apenas armazenar os dados em uma tabela do MySQL!

Estou tendo problemas pra trabalhar com Data!!

Primeiramente preciso armazenar a Data de Nascimento e em uma outra tabela a hora e a data em que aconteceu o armazenamento!

Mas como trabalho com o Datas?

O dia, mês e ano já estão sendo passados em separado cada um!
Entrão preciso converter tudo isto para um formato de data válido e colocar na tabela.
O MySQL trabalha com o formato de AAA/MM/DD mas até ai tudo bem!!!

Então precisa saber como eu faço para:

Converter de String para Data e jogar pra jogar na minha tabela.
E quando eu recuperar essa Data, como faço a conversar de Data para String para pegar a o Dia, Mês e Ano! (Axo burrice isso!) Creio q exista metodos como .getDay, .getMouth e getYear para manipular o objeto Date!!

Se poderem me ajudar, eu fico agradecido!!

Sem mais,

Garcia

3 Respostas

Ironlynx
Exemplo:



String d = “datadeentrada”

DateFormat format = new SimpleDateFormat(“dd/MM/yyyy”);

java.sql.Date data = new java.sql.Date(format.parse(d).getTime());



ou seja, use o SimpleDateFormat para tacar a data na forma que vc precisa.Veja mais aqui:

<a href="http://www.exampledepot.com/egs/java.text/FormatDate.html" class="onebox" target="_blank">http://www.exampledepot.com/egs/java.text/FormatDate.html</a>

<a href="http://www.exampledepot.com/egs/java.text/ParseDate.html?l=rel" class="onebox" target="_blank">http://www.exampledepot.com/egs/java.text/ParseDate.html?l=rel</a>

E vc pode usar GregorianCalendar e pegar Ano,Mês,Dia da semana…

Pesquise aqui ou nesse mesmo site que eu lhe passei!
elementx

Hum!!!
Bom! Estou acessando as páginas que você me indicou e agora estou apanhando pacas!! Inclusíve com o exemplo que você me passou!!

Veja um trecho do meu .JSP!

String xDD = request.getParameter("pDD");
String xMM = request.getParameter("pDD");
String xAAAA = request.getParameter("pAAAA");		
String xDC = xAAAA + "/" + xMM + "/" + xDD;
try {
   DateFormat format = new SimpleDateFormat("yyyy/MM/dd"); 
   java.sql.Date xDF = new java.sql.Date(format.parse(xDC)); 
}
catch (Exception e) {
out.print("Erro de conversão de Data!<p>" + e);
}

No caso, tenho essa exception aqui:

org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 9 in the jsp file: /sistemaweb/ckclientegrava.jsp
Generated servlet error:
DateFormat cannot be resolved to a type

An error occurred at line: 9 in the jsp file: /sistemaweb/ckclientegrava.jsp
Generated servlet error:
SimpleDateFormat cannot be resolved to a type

Não vai bater a linha nove pq eu extraí do meu código a parte relacionada a data!

Só falta resolver este problema com a data para o meu cadastro de clientes estar completo!

[]´s,

Garcia.

elementx

Bom!
Realmente estava me matando por nada!!!

O tipo de campo que criei no MySQL foi do tipo Date!
Dpois de perder todas as esperanças após ler foruns e foruns, vi que não precisava converter nada!!!
Entrou direto em formato texto mesmo!
Fiz testes e vi que consigo também fazer as consultas sem problemas nenhum com as datas entradas dessa maneira!!!
Obrigado a todos pela ajuda!

[]´s,

Garcia.

Criado 24 de março de 2007
Ultima resposta 26 de mar. de 2007
Respostas 3
Participantes 2