Comparar fechas en Java

java3En el artículo de hoy vamos a aprender una forma muy sencilla para comparar fechas en Java. En ocasiones puede resultar una tarea complicada pero trabajando con las clases Calendar y Date podemos compararlas sin mucha dificultad. En este caso vamos a comprobar si ahora mismo son las 12:02 horas del 7 de mayo de 2015 ignorando los segundos y milisegundos ya que no necesitamos tanta precisión.

Con el código mostrado a continuación podemos obtener el resultado deseado.

import java.util.Calendar;
import java.util.Date;

public class Date {

    public static void main(String[] args) {

        //Obtenemos fecha y hora actuales
        Calendar currDtCal = Calendar.getInstance();

        //Eliminamos segundos y milisegundos si no necesitamos esa precisión.
        //También podríamos eliminar hora y minutos si solo nos interesa año, mes y día
        currDtCal.set(Calendar.SECOND, 0);
        currDtCal.set(Calendar.MILLISECOND, 0);

        //Guardamos la fecha y hora actuales sin segundos ni milisegundos
        Date actual = currDtCal.getTime();

        //Asignamos la fecha que queremos comparar al Calendar
        currDtCal.set(Calendar.HOUR_OF_DAY, 12);
        currDtCal.set(Calendar.MINUTE, 02);

        currDtCal.set(Calendar.DAY_OF_MONTH, 7);
        currDtCal.set(Calendar.MONTH, 5);
        currDtCal.set(Calendar.YEAR, 2015);

        //Mostramos por pantalla la hora actual y la introducida manualmente
        System.out.println("La hora actual es: "+actual);
        System.out.println("La hora a comparar es: "+currDtCal.getTime());

        //Comparamos si la fecha introducida es igual a la actual
        if (actual.equals(currDtCal.getTime())) {
           System.out.println("Es la hora");
        }else System.out.println("No es la hora");
    }
}

Finalmente, nuestra aplicación nos informará sobre si ambas fechas coinciden o no mostrando el mensaje “Es la hora” o “No es la hora” según corresponda.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: