Ol� Thain�.
O motivo de voc� estar recebendo o mesmo valor em dataFinal e dataInicial, �
um estouro de vari�vel.
O valor returnado por Date.getTime () est� em milisegundos, e � um n�mero
muito grande. Voc� est� fazendo a opera��o ao contr�rio.
Para converter de milisegundos para dias voc� dever� fazer o seguinte
calculo:
static long fromMillisToDays (long millis) {
return (((milis / 1000) / 60) / 60) / 24;
}
Agora creio que seu teste funcionar�. Se ainda assim n�o der certo, veja o
arquivo que mando atachado, ele cont�m um exemplo que funciona, e utiliza a
classe Calendar \ GregorianCalendar do package java.util.
A prop�sito, que vers�o do JDK voc� est� usando???
Se n�o estiver usando a 1.0.x, � melhor dar uma olhadinha na documenta��o,
v�rios metodos da classe java.util.Date est�o depreciados!
Espero ter ajudado!
Qualquer proplema � s� dizer!
Um abra�o
Ricardo Munhoz Santiago!
-----Mensagem original-----
De: Thain� Gomes <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Data: Ter�a-feira, 22 de Junho de 1999 12:44
Assunto: POR FAVOR LEIAM ESTA MENSAGEM!
Caros Javaneses,
Chamei a aten��o de todos porque preciso de uma ajuda URGENTE, como
j� devem ter notado pelas minhas muitas d�vidas, sou inexperiente na
programa��o com Java e ainda n�o sei utilizar v�rios recursos dispon�veis
no pacote JDK...estou ainda com um problema referente a datas, preciso
ter at� hoje � noite a solu��o para esse problema: informatiza��o de uma
biblioteca, preciso armazenar a data que um usuario retirou um exemplar
e ter sempre atualizada a data do sistema, sendo que um exemplar s�
pode ficar com a mesma pessoa durante 15 dias e ap�s isso deve ser
cobrada uma multa, preciso verificar a diferen�a existente entre o
dia de hoje e a data de emprestimo do exemplar, tendo como resposta
um inteiro que se maior que 15 indica atraso.
Olhem o que eu fiz para testar:
/////////////////////////////////////////////////////////////////////
public class ColherData{
/*1*/ public static void main(String [] args)
/*2*/ {
/*3*/ Date data1 = new Date(98,4,21);//chutei uma data que era
/*4*/ //exatamente para constatar o atraso. E deu certo.
/*5*/ System.out.println(data1);
/*6*/ int dataInicial = (((int)data1.getTime())/(1000*60*60*24));
/*7*/ System.out.println();
/*8*/ System.out.println(dataInicial);
/*9*/ Date data2 = new Date();
/*10*/ System.out.println(data2);
/*11*/ int dataFinal = (((int)data2.getTime())/(1000*60*60*24));
/*12*/ System.out.println();
/*13*/ System.out.println(dataFinal);
/*14*/ int dias = (dataFinal - dataInicial);
/*15*/ if (dias> 15)
/*16*/ { int dif= dias -15;
/*17*/ System.out.print(" VOCE ESTA COM UM EXEMPLAR ATRASADO POR
/*18*/ ") ;
/*19*/ System.out.print(dif);
/*20*/ System.out.println(" DIAS");
/*21*/ }
/*22*/ else{ System.out.println (" Estou em apuros ,isso nao
/*23*/ funciona!!!!");}
/*24*/ }
}
/////////////////////////////////////////////////////////////////////
Notei que ao ,rodar, as variaveis dataFinal(ln 6) e dataInicial(ln 11) tem
o
mesmo valor. O que devo fazer para isso n�o acontecer?!
Aguardo sugest�es ansiosamente.
Obrigada desde j�.
Thain�
____________________________________________________________________
Get your own FREE, personal Netscape WebMail account today at
http://webmail.netscape.com.
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail,
escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
DateTest.java