Comparar fechas en java
Contenido
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`
1. Usar comparar con. Fecha implementa Comparable
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
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`
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.
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
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
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
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.
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);
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
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
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`
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 `==`.
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
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`); }
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`); }
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 }
Artículos sobre el tema. "Comparar fechas en java"
Оцените, пожалуйста статью
Popular