Ver quantos dias passaram de uma data para outra

pessoal tenho a minha data neste formato

[code]
Objecto data (dia, mes, ano)

public int kuantosdiasPassaram( data other){
}[/code]

alguma ajuda, quero saber kuantos dias passaram de uma data a outra dada como parametro,

através do método getTime da classe Date você consegue os milissegundos desde 01/01/1970.

pegue os valores das duas datas e subtraia, assim você vai ter quantos milissegundos passaram de uma data pra outra…

aí é só questão de fazer conta… 1 segundo tem 1000 milissegundos, 1 minuto tem 60 segundos, 1 hora 60 minutos e 1 dia 24 horas…

fiz uma minha propria classe Date…dai n posso pegar este metodo… :?

Duas perguntas:

  1. Para que você fez sua própria classe Date? Quais diferenças tem com a Date?
  2. Quais os atributos da sua classe? Sem saber o funcionamento da sua classe não tem como resolver seu problema.

Apesar de não ser exatamente bom, Java já tem maneiras de lidar com data que te permitem fazer essas operações. Minha sugestão é usar as classes já existentes que podem facilitar seu trabalho.

Boas, eu sei k é mais vantajoso usar o k o java ja da, mas preciso de implementar minha propria classe para o trabalho…

Com java.util.Date:

Date data1 = ...
Date data2 = ...

// 1 dia = 86400000 milisegundos (24 * 60 * 60 * 1000).
long diferencaEmDias = (data1.getTime() - data2.getTime()) / 86400000L;

Bem, neste caso, o seu problema é entender a matemática necessária. Isso vai depender da forma como você está implementando a seua classe Data.

Se você tem os atributos dias mês e ano, converte tudo pra dias e faz a operação. O problema disso é que você vai ter que calcular na mão os dias de cada mês.

Você pode usar o construtor do Date para criar a data: new Date(year, month, date) - está deprecated;

Use JODA time.

Não reinvente a roda. :wink: