Ver Mensaje Individual
  #9 (permalink)  
Antiguo 04/04/2011, 12:14
Avatar de sivadmp
sivadmp
 
Fecha de Ingreso: febrero-2011
Ubicación: La Paz - Bolivia
Mensajes: 293
Antigüedad: 13 años, 10 meses
Puntos: 20
Respuesta: Porq no funciona Mi calculador de cumpleaños

estas asiendo mal hermano

sabes donde esta el problema, en la resta de fechas, siempre tienes que restar la fecha mayor menos fecha menor

entonces tenemos las fechas fi = 01/04/1986 y ff= 31/03/2011

la fecha mayor es 31/03/2011 pero si le quitamos los años la fecha mayor seria

01/04 > 31/03

este codigo te va aservir

Código java:
Ver original
  1. public int diferenciafechas(String fechanto, String fechactual) {
  2.  
  3.         DateFormat df_ini = new SimpleDateFormat("dd/MM");
  4.         Date date_ini;
  5.         Date date_fin;
  6.         String day = null;
  7.         try {
  8.             date_ini = df_ini.parse(fechanto);
  9.             date_fin = df_ini.parse(fechactual);
  10.  
  11.             long fi = date_ini.getTime();
  12.             long ff = date_fin.getTime();
  13.             long dif = 0;
  14.             int mes=-1;
  15.            
  16.             DateFormat df_dia = new SimpleDateFormat("dd");
  17.             DateFormat df_mes = new SimpleDateFormat("MM");
  18.            
  19.             Date date = null;
  20.             if(ff > fi){
  21.                 dif = ff - fi;
  22.                 date = new Date(dif);
  23.                 mes = Integer.parseInt(df_mes.format(date)) - 1;
  24.             }
  25.             else{
  26.                 dif = fi - ff;
  27.                 date = new Date(dif);
  28.                 mes = Integer.parseInt(df_mes.format(date));
  29.             }
  30.            
  31.             day = df_dia.format(date);
  32.            
  33.            
  34.             System.out.println("Faltan "+df_dia.format(date) + " DIAS y " + mes + " MESES para tu cumpleaño");
  35.  
  36.         } catch (ParseException e) {
  37.             e.printStackTrace();
  38.         }
  39.         return (Integer.parseInt(day));
  40.  
  41.     }

yo creo que con esto se cierra el tema, o que dices

:) espero haberte ayudado saludos
__________________
agradecer no cuesta nada
Entre más información proporciones más fácil será ayudarte, y asi evitar adivinar el problema con el que cuentas.