Comparar fechas en java

Hay varias formas de comparar fechas en Java. Internamente, una fecha se representa como un punto (largo) en el tiempo: la cantidad de milisegundos que han transcurrido desde el 1 de enero de 1970. En Java, fecha es el objeto Fecha, lo que significa que contiene múltiples métodos (métodos) para comparar fechas. Cualquier método de comparar dos fechas básicamente comparará el tiempo transcurrido de ambas fechas.

Pasos

Método 1 de 4: usar el comando `comparar con`

Imagen titulada 4301351 1
1. Usar comparar con. Fecha implementa Comparable
Imagen titulada 4301351 2
2. Crear los objetos de fecha. Tendrá que crear cada objeto de fecha antes de poder compararlos. Una forma de hacer esto es aplicar la clase SimpleDateFormat. Le permite ingresar fácilmente fechas en objetos de fecha.
SimpleDateFormat sdf = new SimpleDateFormat(`aaaa-MM-dd`); //Para declarar valores en nuevos objetos de fecha. Utilice el mismo formato de fecha al crear fechas Datedatum1 = sdf.analizar (`1995-02-23`); // fecha1 es 23 de febrero de 1995 Fecha fecha2 = sdf.analizar (`2001-10-31`); //fecha2 es el 31 de octubre de 2001 Fecha fecha3 = sdf.analizar (`1995-02-23`); //fecha3 es 23 de febrero de 1995
Imagen titulada 4301351 3
3. Comparar los objetos de fecha. A continuación se muestra cada caso: menor que, igual a y mayor que.
fecha1.comparar con (fecha2); //fecha1 < fecha2, menos de 0 fecha2.comparar con (fecha1); //fecha2 > fecha1, devuelve mayor que 0 fecha1.comparar con (fecha3); //fecha1 = fecha3, devuelve 0

Método 2 de 4: Usar los métodos `igual, después y antes`

Imagen titulada 4301351 4
1. Usar iguales, antes y después. Las fechas se pueden comparar usando los métodos de igual, después y antes. Si dos fechas indican la misma hora, el método de igualdad devolverá `verdadero`. Los ejemplos usan las fechas creadas previamente a través del método compareTo.
Imagen titulada 4301351 5
2. Compara usando el método antes. El siguiente código muestra un caso de verdadero y falso. Si fecha1 es anterior a fecha2, el resultado es verdadero. Si no, antes devuelve falso.
Sistema.fuera.imprimir (fecha1.antes (fecha2)); // imprime el sistema verdadero.fuera.imprimir (fecha2.antes (fecha2)); // imprime falso
Imagen titulada 4301351 6
3. Compara esto con el método after. El siguiente código muestra un caso de verdadero y falso. Si date2 es posterior a date1, after devuelve verdadero. Si no, después devuelve falso.
Sistema.fuera.imprimir (fecha2.after(date1));//imprime el sistema verdadero.fuera.imprimir (fecha1.después de (fecha2)); // imprimir falso
Imagen titulada 4301351 7
4. Compara usando el método de igualdad. El siguiente código muestra un caso de verdadero y falso. Si las fechas son iguales, equals devuelve verdadero. Si no, igual devuelve falso.
Sistema.fuera.imprimir (fecha1.es igual a (fecha3));//imprime el sistema verdadero.fuera.imprimir (fecha1.es igual a (fecha2));//imprime falso

Método 3 de 4: Usar la clase Calendar

Imagen titulada 4301351 8
1. Usar la clase Calendario. La clase Calendar también presenta métodos compareTo, equals, after y before, que funcionan de la misma manera que se describió anteriormente para la clase de fecha. Entonces, si los datos de la fecha se mantienen en un calendario, no es necesario extraer `fecha` solo para comparar dos fechas.
Imagen titulada 4301351 9
2. Crear instancia de calendario. Para usar los métodos de Calendario, necesita algunas instancias de Calendario. Afortunadamente, puede usar el tiempo generado por las instancias de Fecha.
Calendario call1 = Calendario.obtener Instancia(); //declara cal1 Calendario cal2 = Calendario.obtener Instancia(); //declara cal2 Calendario cal3 = Calendario.obtener Instancia(); //declara cal3 cal1.establecerHora(fecha1); //aplica la fecha a cal1 cal2.establecerHora(fecha2); cal3.establecerHora(fecha3);
Imagen titulada 4301351 10
3. Compare cal1 y cal2 usando before. El siguiente código devuelve verdadero porque cal1 es anterior a cal2.
Sistema.fuera.imprimir (cal1.antes (cal2)); // imprime verdadero
Imagen titulada 4301351 11
4. Compara cal1 y cal2 usando after. El siguiente código devuelve falso, porque cal1 es anterior a cal2.
Sistema.fuera.imprimir (cal1.después (cal2)); // imprime falso
Imagen titulada 4301351 12
5. Comparar cal1 y cal2 usando iguales. El siguiente código muestra un ejemplo de verdadero y falso. La condición depende de las instancias de Calendar que se comparen. El siguiente código da `verdadero` y luego `falso` en la siguiente línea.
Sistema.fuera.imprimir(cal1.es igual a(cal3)); // imprime verdadero: cal1 == cal3 Sistema.fuera.imprimir (cal1.es igual a(cal2)); // imprime falso: call1 != cal2

Método 4 de 4: Usar el método `getTime`

Imagen titulada 4301351 13
1. Usar getTime. También es posible comparar directamente dos puntos de tiempo, aunque es probable que cualquiera de los enfoques anteriores produzca resultados más legibles y, por lo tanto, son los preferidos. Esta es una comparación de dos tipos de datos primitivos, por lo que se puede hacer con `<`, `>` y `==`.
Imagen titulada 4301351 14
2. Crear los objetos de tiempo `largo`. Antes de poder comparar fechas, debe crear números enteros largos a partir de los datos de los objetos de fecha creados anteriormente. Afortunadamente, el método getTime() hará la mayor parte del trabajo por usted.
mucho tiempo1 = obtenerHora(fecha1); //declara tiempo1 primitivo desde fecha1 tiempo largo2 = getTime(fecha2); //declara tiempo2 primitivo desde fecha2
Imagen titulada 4301351 15
3. Usar una ecuación `menor que`. Utilice un símbolo "menor que" (<) para comparar estos dos valores enteros. Dado que time1 es más pequeño que time2, el primer mensaje debe imprimirse en la pantalla. La instrucción else se incluye para la sintaxis correcta.
si (tiempo1 < hora2){ Sistema.fuera.println(`fecha1 es anterior a fecha2`); //imprimir porque time1 < time2 } else{ Sistema.fuera.println(`fecha1 es posterior o igual a fecha2`); }
Imagen titulada 4301351 16
4. Haz una comparación `mayor que`. Use el símbolo mayor que (>) para comparar estos dos enteros. Debido a que time1 es mayor que time2, el primer mensaje se imprime en la pantalla. La instrucción else se incluye para una sintaxis correcta.
si (tiempo2 > hora1){ Sistema.fuera.println(`fecha2 viene después de fecha1`); // imprimir porque time2 > time1} else{ Sistema.fuera.println(`fecha2 es anterior o igual a fecha1`); }
Imagen titulada 4301351 17
5. Haz una comparación `igual a`. Usa el símbolo (==) para comparar estos dos enteros. Dado que time1 es igual a time3, el primer mensaje debe imprimirse. Si el programa llega a la instrucción else, significa que los tiempos no son iguales.
if(hora1 == hora2){ Sistema.fuera.println(`Las fechas coinciden`); } más{ Sistema.fuera.println(`Las fechas no son las mismas`); //imprimir porque time1 != tiempo2 }

Оцените, пожалуйста статью