Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. public static String DiferenciaFechas(String vinicio, String vfinal){
  2.  
  3.             Date dinicio = null, dfinal = null;
  4.             long milis1, milis2, diff;
  5.  
  6.             SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  7.  
  8.             try {
  9.                     // PARSEO STRING A DATE
  10.                     dinicio = sdf.parse(vinicio);
  11.                     dfinal = sdf.parse(vfinal);                    
  12.                    
  13.             } catch (ParseException e) {
  14.  
  15.                     System.out.println("Se ha producido un error en el parseo");
  16.             }
  17.            
  18.             //INSTANCIA DEL CALENDARIO GREGORIANO
  19.             Calendar cinicio = Calendar.getInstance();
  20.             Calendar cfinal = Calendar.getInstance();
  21.  
  22.             //ESTABLECEMOS LA FECHA DEL CALENDARIO CON EL DATE GENERADO ANTERIORMENTE
  23.              cinicio.setTime(dinicio);
  24.              cfinal.setTime(dfinal);
  25.  
  26.  
  27.          milis1 = cinicio.getTimeInMillis();
  28.  
  29.          milis2 = cfinal.getTimeInMillis();
  30.  
  31.  
  32.          diff = milis2-milis1;
  33.  
  34.  
  35.          // calcular la diferencia en segundos
  36.  
  37.      long diffSegundos =  Math.abs (diff / 1000);
  38.  
  39.  
  40.      // calcular la diferencia en minutos
  41.  
  42.      long diffMinutos =  Math.abs (diff / (60 * 1000));
  43.  
  44.      
  45.      long restominutos = diffMinutos%60;
  46.  
  47.  
  48.  
  49.      // calcular la diferencia en horas
  50.  
  51.      long diffHoras =   (diff / (60 * 60 * 1000));
  52.  
  53.  
  54.  
  55.      // calcular la diferencia en dias
  56.  
  57.      long diffdias = Math.abs ( diff / (24 * 60 * 60 * 1000) );
  58.  
  59.  
  60.      /*
  61.      System.out.println("En segundos: " + diffSegundos + " segundos.");
  62.  
  63.      System.out.println("En minutos: " + diffMinutos + " minutos.");
  64.  
  65.      System.out.println("En horas: " + diffHoras + " horas.");
  66.  
  67.      System.out.println("En dias: " + diffdias + " dias.");
  68.      */
  69.  
  70.      
  71.      String devolver = String.valueOf(diffHoras + "H " + restominutos + "m ");
  72.  
  73.             return devolver;
  74.     }