DateField: pegar data selecionada (Resolvido)

3 respostas
S

Olá a todos.
Como faço para pegar a data que seleciono no campo DateField?
Por exemplo, se hoje é 02/02/2011 e seleciono 15/05/2011, ele pega a data 02/02/2011 com o comando : sData = dfData.getDate().toString();
Obrigado a quem puder me ajudar.

3 Respostas

jpjcjbr

Bom dia,

Já tentou fazer o teste para outras datas? pode ser que o componente use MM/dd/yyyy, se for isso a data 15/05/2011 seria uma data inválida.

Já fez o teste de mudar a data para 04/02/2011?

vlws

S
Bom dia,

Tentei fazer e continua o mesmo erro.

Apenas quero pegar a data que está no campo dfData no formato original.

Lógica para criar o form:

//FORM ENTRADA DIA

fEntradaDia = new Form(ENTRADAS DIA);

fEntradaDia.addCommand(cVoltar);

fEntradaDia.addCommand(cAnalisarEntradaDia);

fEntradaDia.append(cgUnidadeEntCana);

data = new Date(System.currentTimeMillis());

dfData = new DateField(Data, DateField.DATE);

dfData.setDate(data);

fEntradaDia.append(dfData);

fEntradaDia.setItemStateListener(this);

fEntradaDia.setCommandListener(this);
S
Encontrei o erro. Esta parte da lógica não pode ser na criação do form.

fEntradaDia.append(cgUnidadeEntCana);

data = new Date(System.currentTimeMillis());

dfData = new DateField(Data”, DateField.DATE);

dfData.setDate(data);

fEntradaDia.append(dfData);
Coloquei na CommandAction ao chamar o form:

if (command == cEntradaDia){

data = new Date(System.currentTimeMillis());

dfData = new DateField(“Data”, DateField.DATE);

dfData.setDate(data);

fEntradaDia.append(dfData);

display.setCurrent(fEntradaDia);

}

e assim posso pegar a data em formato original com o comando:
sData = dfData.getDate().toString();

se a necessidade for transformar a data para o formato dd/mm/yyyy, então:

esta lógica está no endereço: <a href="http://javafree.uol.com.br/topic-856717-Capturar-dia-mes-e-ano-de-um-DateField.html">http://javafree.uol.com.br/topic-856717-Capturar-dia-mes-e-ano-de-um-DateField.html</a>

Calendar cal = Calendar.getInstance();

cal.setTime(new Date(dfData.getDate().getTime()));

int ano = cal.get(Calendar.YEAR);

int mes = cal.get(Calendar.MONTH)+1;

int dia = cal.get(Calendar.DAY_OF_MONTH);

sData = String.valueOf(dia) + / + String.valueOf(mes) + / + String.valueOf(ano);

System.out.println(sData);

Obrigado pela ajuda.

Criado 2 de fevereiro de 2011
Ultima resposta 2 de fev. de 2011
Respostas 3
Participantes 2