Cálculo de datas usando timestamp - erro

0 respostas
L

Pessoal,

Estou com uma dificuldade de calcular a diferença entre datas. Estou usando o código abaixo que funciona perfeitamente para datas do mesmo mês, mas quando quero a diferença entre datas de meses diferentes, a conta vem toda errada. Alguém tem uma idéia do que possa ser?

/* Faz o cálculo da diferença de dias entre duas datas.
   * @param dataMenor é a data mais antiga
   * @param dataMaior é a data mais atual
   * @return o número de dias entre as datas
   */
  public double contadorDiasD(Timestamp dataMenor, Timestamp dataMaior)
	{
            double maior  = dataMaior.getTime();
            double menor  = dataMenor.getTime();
            
            return (maior - menor) / (24*60*60*1000); 
	}

/* Faz o cálculo de horas a partir do valor passado.
   * @param data é o valor da data
   * @return as horas representadas pela parte decimal do valor
   */
public double getHorasD(double data)
    {
        double fracao = 0;
        double horas = 0;
        String dataS = new String(""+data);
        
        int indice = dataS.indexOf(".");
        String fracaoS = dataS.substring(indice+1,dataS.length());
        fracao = Double.parseDouble("0."+fracaoS);
        horas = fracao * 24;
        
        return horas;
    }

/* Faz o cálculo de minutos a partir do valor passado representado as horas de uma determinada data.
   * @param horas representa a quantidade de horas
   * @return os minutos representados pela parte decimal do valor
   */
public int getMinutos(double horas)
    {
        double fracao = 0;
        int minutos = 0;
        String horasS = new String(""+horas);
        
        int indice      = horasS.indexOf(".");
        String fracaoS  = horasS.substring(indice+1,horasS.length());
        fracao          = Double.parseDouble("0."+fracaoS);
        minutos         = (int) fracao * 60;
        
        return minutos;
    }
Criado 24 de maio de 2006
Respostas 0
Participantes 1