Ejemplo: código para calcular la distancia entre dos fechas

Ferdie Adoboe (EEUU) corrió los 100 metros hacia atrás en 14 segundos en Amherst, el 28 de julio de 1983. Eso fue hace … días:

Calendar record = Calendar.getInstance();

record.set(1983, Calendar.JULY, 28);

System.out.println(record.getTime());

Calendar hoy = Calendar.getInstance();

System.out.println(hoy.getTime());

long deltaMS = hoy.getTimeInMillis() - record.getTimeInMillis();

long deltaDIAS = deltaMS / 1000 / 60 / 60 / 24;

System.out.println("hace " + deltaDIAS + " días");

Si mi amigo nació el 13 de octubre de 1990, hoy tiene … años:

Calendar nace = Calendar.getInstance();

nace.set(1990, Calendar.OCTOBER, 13);

System.out.println(nace.getTime());

Calendar hoy = Calendar.getInstance();

System.out.println(hoy.getTime());

int cumplidos = hoy.get(Calendar.YEAR) - nace.get(Calendar.YEAR);

// calculamos la fecha de su cumpleaños este año

nace.add(Calendar.YEAR, cumplidos);

if (hoy.before(nace))

    cumplidos -= 1;

System.out.println("tiene " + cumplidos + " años");

Temas relacionados

4. Calendar (clase)