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?
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:
SimpleDateFormatnovoFormato=newSimpleDateFormat("yyyy/MM/dd");Datedata=novoFormato.parse(jFormattedTextField.getText());//Onde o jFormattedTextField terá o modelo que você criou anteriormente