Advertisement
Guest User

Untitled

a guest
May 31st, 2012
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.78 KB | None | 0 0
  1. import java.util.Date;
  2.  
  3. public class DiferencaEm {
  4.    
  5.     /**
  6.      * Calcula a diferença de duas datas em meses
  7.      * <br>
  8.      * <b>Importante:</b> Quando realiza a diferença em meses entre duas datas, este método considera as horas restantes e as converte em fração de meses.
  9.      * @param dataInicial
  10.      * @param dataFinal
  11.      * @return quantidade de meses existentes entre a dataInicial e dataFinal.
  12.      */  
  13.     public static int meses(Date dataInicial, Date dataFinal){  
  14.         int result = 0;  
  15.         long diferenca = dataFinal.getTime() - dataInicial.getTime();  
  16.         double diferencaEmMeses = (diferenca /1000) / 60 / 60 / 24 / 30; //resultado é diferença entre as datas em meses  
  17.         //long diasRestantes = (diferenca /1000) / 60 / 60 %24; //calcula as horas restantes  
  18.         //result = diferencaEmMeses + (diasRestantes /24d); //transforma as horas restantes em fração de dias  
  19.         result = (int) diferencaEmMeses;  
  20.        
  21.         return result;  
  22.     }  
  23.      
  24.     /**
  25.      * Calcula a diferença de duas datas em dias
  26.      * <br>
  27.      * <b>Importante:</b> Quando realiza a diferença em dias entre duas datas, este método considera as horas restantes e as converte em fração de dias.
  28.      * @param dataInicial
  29.      * @param dataFinal
  30.      * @return quantidade de dias existentes entre a dataInicial e dataFinal.
  31.      */  
  32.     public static int dias(Date dataInicial, Date dataFinal){  
  33.         int result = 0;  
  34.         long diferenca = dataFinal.getTime() - dataInicial.getTime();  
  35.         double diferencaEmDias = (diferenca /1000) / 60 / 60 /24; //resultado é diferença entre as datas em dias  
  36.         //long horasRestantes = (diferenca /1000) / 60 / 60 %24; //calcula as horas restantes  
  37.         //result = diferencaEmDias + (horasRestantes /24d); //transforma as horas restantes em fração de dias  
  38.         result = (int) diferencaEmDias;
  39.        
  40.         return result;  
  41.     }  
  42.      
  43.     /**
  44.      * Calcula a diferença de duas datas em horas
  45.      * <br>
  46.      * <b>Importante:</b> Quando realiza a diferença em horas entre duas datas, este método considera os minutos restantes e os converte em fração de horas.
  47.      * @param dataInicial
  48.      * @param dataFinal
  49.      * @return quantidade de horas existentes entre a dataInicial e dataFinal.
  50.      */  
  51.     public static int horas(Date dataInicial, Date dataFinal){  
  52.         int result = 0;  
  53.         long diferenca = dataFinal.getTime() - dataInicial.getTime();  
  54.         long diferencaEmHoras = (diferenca /1000) / 60 / 60;  
  55.         //long minutosRestantes = (diferenca / 1000)/60 %60;  
  56.         //double horasRestantes = minutosRestantes / 60d;  
  57.         //result = diferencaEmHoras + (horasRestantes);  
  58.         result = (int) diferencaEmHoras;
  59.        
  60.         return result;  
  61.     }  
  62.      
  63.     /**
  64.      * Calcula a diferença de duas datas em minutos
  65.      * <br>
  66.      * <b>Importante:</b> Quando realiza a diferença em minutos entre duas datas, este método considera os segundos restantes e os converte em fração de minutos.
  67.      * @param dataInicial
  68.      * @param dataFinal
  69.      * @return quantidade de minutos existentes entre a dataInicial e dataFinal.
  70.      */  
  71.     public static int minutos(Date dataInicial, Date dataFinal){  
  72.         int result = 0;  
  73.         long diferenca = dataFinal.getTime() - dataInicial.getTime();  
  74.         double diferencaEmMinutos = (diferenca /1000) / 60; //resultado é diferença entre as datas em minutos  
  75.         //long segundosRestantes = (diferenca / 1000)%60; //calcula os segundos restantes  
  76.         //result = diferencaEmMinutos + (segundosRestantes /60d); //transforma os segundos restantes em minutos  
  77.         result = (int) diferencaEmMinutos;
  78.        
  79.         return result;  
  80.     }  
  81.    
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement