Dividir um campo de data em dia, mês e ano!

6 respostas
M

Pessoal, tenho uma campo para informar data, tem como eu dividir a data informada em dia, mês e ano (Exemplo: 10/08/2005 - dia -> 10, mes -> 08, ano -> 2005), porque eu preciso inserir no meu banco assim 20050810?

6 Respostas

finotti

Se o campo for uma String, você pode usar substring.

String data = "10/08/2005";
String dia = data.substring(0,2);
String dia = data.substring(3,5);
String dia = data.substring(6,8);
System.out.println("Dia= "dia +"\nMês= "+ mes +"\nAno= "+ ano);

Se o campo for um “date”,

GregorianCalendar calendario = new GregorianCalendar();
int dia = calendario.get(GregorianCalendar.DATE);
// a contagem dos meses vai de 0 a 11.
int mes = (calendario.get(GregorianCalendar.MONTH) + 1);
int ano = calendario.get(GregorianCalendar.YEAR);
System.out.println("Dia= "dia +"\nMês= "+ mes +"\nAno= "+ ano);
Rafael_Steil

Use java.text.SimpleDataFormat:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date d = df.parse("10/08/2005");

df = new SimpleDateFormat("yyyyMMdd");
String s = df.format(d);

Rafael

boaglio

tem o método split da classe String que pode jogar esse valor em um array de valores.

Leia a documentação da classe aqui java.lang.String

M

E tem como eu pegar a data direto do campo texto-formatado? Me disseram que dava pra usar StringBuffer?

try{
MaskFormatter maskara= new MaskFormatter ("##/##/####");
JFormattedTextField = new JFormattedTextField (maskara);
}
farribeiro

Uma dúvida… o Date não está em processo de deprecated , não tem risco de usar?

kina

farribeiro:
Uma dúvida… o Date não está em processo de deprecated , não tem risco de usar?
Os métodos sim, a classe em sí não.
Não tenho certeza mas esta deve ser mto mais leve que uma Calendar ^^
você usa o date para transferir dados de um lado para outro (pelo menos eu faço assim) e uso um Format da vida para retornar o que eu preciso, por exemplo.

Criado 10 de agosto de 2005
Ultima resposta 10 de ago. de 2005
Respostas 6
Participantes 6