[RESOLVIDO] - Problema com Data! Tá feio aqui, viu!

6 respostas
macdown

Pessoal, estou com uma dúvida e não consigo sair!

Tenho um Jtextfild com nome Ex: data

Quero escrever a data 19/11/2010 e gravar no banco de dados.
Ai vem o problema, usei o SimpleDateFormat.

Só que o esquema é Date e quando ele puxa do Jtextfield é uma String.
Alguem poderia me dar um exemplo para receber uma string e formatar a data para gravar no banco de dados?

Galera, obrigadooo.
Abraço.

6 Respostas

M
try {

DateFormat formatter = new SimpleDateFormat("MM/dd/yy"); 
Date date = (Date)formatter.parse("01/29/02"); 
formatter = new SimpleDateFormat("dd-MMM-yy"); 
date = (Date)formatter.parse("29-Jan-02"); 



formatter = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss"); 
date = (Date)formatter.parse("2002.01.29.08.36.33"); 
formatter = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z"); 
date = (Date)formatter.parse("Tue, 29 Jan 2002 22:14:02 -0500"); 
} catch (ParseException e) { 
}
Tiago.Argolo

Em uma aplicação que fiz aqui eu fiz assim:

GregorianCalendar g = new GregorianCalendar(); TelaPrincipal.data.setText(g.get(Calendar.DAY_OF_MONTH)+"/"+(g.get(Calendar.MONTH)+1)+"/"+g.get(Calendar.YEAR));

Sendo “data” um JLabel.

davidhellfire

o campo na sua base esta definido como “data” ou “String” ?

pq para vc salvar no formato dd/MM/yyyy usando SimpleDateFormat, sua base tem te estar preparada no formato de tipo String
Se sua base estiver do tipo Date ai e bem provavel que deverá ocorrer um erro.

Lembrando a base com campo de valor do tipo “Date” deve ser salvo no seguite formato
yyyy/MM/dd, que se refere ao formato americano de data.

Espero ter ajudado

[color=red]davidhellfire[/color]

Marck

Olá!

Assim não funciona?

new Date("19/11/2010");

ou

new Date(seuJtext.getText());
arqueiros

Fera o que eu vou postar aqui talvez não seja exatamente o que vc precisa mas acho que vai te ajudar muito…

é uma forma de colocar um marcara no campo…

abaixo está uma instancia da classe que cuida da mascara e uma instancia do tipo JFormattedTextField ao invés de JTextField

Mascara mascara = new Mascara();

JFormattedTextField  fldDataFim = new JFormattedTextField(mascara.setMascara("##/##/####"));

abaixo a classe que cuida da mascara

import javax.swing.text.MaskFormatter;

public class Mascara {

public Mascara()
{
    
}
    
public MaskFormatter setMascara(String mascara)
    {
        MaskFormatter mask = null;
        try{
         mask = new MaskFormatter(mascara);
         mask.setPlaceholderCharacter('_'); //faz com que ai inves de aparecer espaço em branco apareça '_'

         }catch(java.text.ParseException ex){}
      return mask;

    }
}

O código acima vai fazer com que o campo aceite apenas e números

Pode ser que vc não necessite desse código mas queria demonstrar essa possibidade…eu usei o código acima em meu projeto de tcc

precisar de algo mais é só dizer…

macdown

Primeiro de tudoooooo, gostaria de agradecer:

[b][color=red]mark_domi

Tiago.Argolo

davidhellfire

Marck

arqueiros[/color] [/b]

Deu certo aqui pessoal, tambem com tanta ajuda, só tinha que dar certo, né? =)
Essa vontade de ajudar é que faz o nosso pais crescer cada vez mais.

abraço a todoss…e mais uma vez, muito obrigado.

Daniel

Criado 31 de maio de 2010
Ultima resposta 1 de jun. de 2010
Respostas 6
Participantes 6