Tenho uma data setada no programa, em String, e um array de objetos que possuem como um dos atributos uma data.
Então, eu preciso acessar esse atributo data usando um for dentro da classe ListaDeLeiloes:
for(inti=0; i < lista.size(); ++i)
{
Leilaol=lista.get(i);Stringd=l.getData(); ....//compararcomadatasetadanoprogramaeretornarosleiloesqueestãoemandamento
}
Já me falaram que talvez precise converter as datas em date, mas não tenho a menor idéia de como fazer isso… E os exemplos que li, parecem complexos demais pra mim…
Se alguém puder ajudar a converter para date e comparar ou tiver algum outro método que funcione, agradeço muito!
Tenho uma data setada no programa, em String, e um array de objetos que possuem como um dos atributos uma data.
Então, eu preciso acessar esse atributo data usando um for dentro da classe ListaDeLeiloes:
for(inti=0; i < lista.size(); ++i)
{
Leilaol=lista.get(i);Stringd=l.getData(); ....//compararcomadatasetadanoprogramaeretornarosleiloesqueestãoemandamento
}
Já me falaram que talvez precise converter as datas em date, mas não tenho a menor idéia de como fazer isso… E os exemplos que li, parecem complexos demais pra mim…
Se alguém puder ajudar a converter para date e comparar ou tiver algum outro método que funcione, agradeço muito!
for(int i=0 i<lista.size();i++){
String d=lista.get(i).getData() // apanhas no array a data nesta posição e voilá!!!
}
LPJava
usa equals apos a conversao ai vc vai saber se as datas sao iguais…
Dani_RS
Hmm…
Mas que método eu posso usar pra comparar que me retorne se a data é anterior ou posterior a que passei como parâmetro?
Me disseram que pode ser after/before…
Alguém sabe como utilizar?
Obrigada a todos!
Alkamavo
ai caramba parece k nao entendi bem a pergunta…isso de ser angolano esta a pesar.
Keres ver a data que esta no array e ver se esta data que ta no array é inferior ou posterior as data k dás como parametro? é isso
este é o metodo compareTo
Returns:
the value 0 if the argument is a string lexicographically equal to this string; a value less than 0 if the argument is a string lexicographically greater than this string; and a value greater than 0 if the argument is a string lexicographically less than this string.
tou fazendo um bocado a pressa tenho de ir ao treino de JUdo…
//comparar com a data setada no programa e retornar os leiloes que estão em andamento
}
sergiotaborda
Dani_RS:
Olá, pessoal!
Tenho uma data setada no programa, em String, e um array de objetos que possuem como um dos atributos uma data.
Então, eu preciso acessar esse atributo data usando um for dentro da classe ListaDeLeiloes:
for(inti=0; i < lista.size(); ++i)
{
Leilaol=lista.get(i);Stringd=l.getData(); ....//compararcomadatasetadanoprogramaeretornarosleiloesqueestãoemandamento
}
Já me falaram que talvez precise converter as datas em date, mas não tenho a menor idéia de como fazer isso… E os exemplos que li, parecem complexos demais pra mim…
Se alguém puder ajudar a converter para date e comparar ou tiver algum outro método que funcione, agradeço muito!
Leilão.getData() deve retornar um Date ( e se possivel ter um nome mais explicito como getDateDeInicio(), já que Data é um tipo de variável e não o conteudo da variável)
Date é Comparable. Vc pode fazer a.compareTo(b) e usar o resultado como filtro.
Ai fica mais fácil
// copia todos para a lista de abertosList<Leilao>abertos=newLinkedList<Leilao>(lista);Datelimite=...// a data setada no programafor(Iterator<Leilao>it=abertos.iterator();it.hasNext();){Dated=it.next().getData();//comparar com a data setada no programa e retornar os leiloes que estão em andamento// está em andamento se a data do leilão é menor que a do limite.if(d.compareTo(limite)>=0){// não está em andamento: remove da lista de abertosit.remove();}}returnabertos;
felipealbuquerque
Você pode converter a data com o SimpleDateFormat e comparar com os métodos da classe Date, como no exemplo:
/* * Classe que transforma String para Date e vice-versa. * No exemplo, estou falando para a classe que o formato da data com a qual estou trabalhando * é dd/MM/yyyy, onde: * - dd = O dia, com dois dígitos. Ex: 27 * - MM = O mês, com dois dígitos. Ex: 11 (OBS: O "MM" deve ser maiúsculo, * pois "mm" significa "minutos") * - yyyy = O ano, com quatro dígitos. Ex: 2007 */SimpleDateFormatsdf=newSimpleDateFormat("dd/MM/yyyy");StringstrData="23/10/2007";Datedata=sdf.parse(strData);// conversão da data// Verifica se a data é igual à data atualbooleanigual=data.equals(newDate());// Verifica se a data é mais antiga que data atualbooleanmaisAntiga=data.before(newDate());// Verifica se a data é mais recente que data atualbooleanmaisRecente=data.after(newDate());