JFormatterTextField para data

3 respostas
S

Bom dia a todos,

Gostaria de auxilio para uma questão:

Como eu uso JFormatterTextField para inserir uma data no formado dd/mm/yyyy, e verificar se ela é válida?
E de que forma eu posso gravar no Banco de Dados, já que ele sempre grava assim yyyy-mm-dd?

Deste já, agradeço.

3 Respostas

mauricioadl

pesquise por SimpleDateFormat tem um monte de soluções para isso aqui no forum

ou veja direto no doc

http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

D

Bom dia galera do GUJ!!!

Cara, eu costumo fazer assim para validar uma data :

public String convertStrToDate(String data) throws Exception { String formatoData = "dd/MM/yyyy HH:mm:ss"; try { SimpleDateFormat sdf = new SimpleDateFormat(formatoData); Date newDate = sdf.parse(data); if (tz != null) { sdf.setTimeZone(tz); } return sdf.format(newDate); } catch (Exception e) { throw new Exception("Data incorreta! Problema ao converter para data: " + e.getMessage()); } }

No meu banco, não preciso fazer nada que grava desta forma de boa…Mas se caso vc tiver algum problema na hora para gravar no banco, faz um método parecido, só mudando a String formatoData.

Espero ter ajudado!!!
Abraços;

Daniel…

JMARQ

Pode ser realizado da seguinte forma:

Insira um jFormattedTextField, selecione e em Propriedades clique nos três pontos […] em formatterFactory, em Categoria selecione Máscara, em Formatar selecione Personalizado e em Formato coloque ##/##/####, o que equivale a dd/MM/yyyy, então o seu jFormattedTextField terá a máscara que você acabou de criar.

Continuando, já para passar o formato da data de dd/MM/yyyy para yyyy/MM/dd, é só fazer o seguinte:

SimpleDateFormat novoFormato = new SimpleDateFormat("yyyy/MM/dd");

Date data = novoFormato.parse(jFormattedTextField.getText());//Onde o jFormattedTextField terá o modelo que você criou anteriormente

Espero ter ajudado.

Criado 4 de janeiro de 2012
Ultima resposta 4 de jan. de 2012
Respostas 3
Participantes 4