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

Responder a