validar rango horas fechas fecha ejemplo comparar java date

rango - fecha en java netbeans



¿Cómo verificar si una fecha es mayor que otra en Java? (4)

Analice la cadena en la fecha, luego compare usando compareTo , before o después

Date d = new Date(); d.compareTo(anotherDate)

es decir

Date date1 = new SimpleDateFormat("MM/dd/yyyy").parse(date1string) Date date2 = new SimpleDateFormat("MM/dd/yyyy").parse(date2string) date1.compareTo(date2);

javadoc para compareTo http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#compareTo(java.util.Date)

Esta pregunta ya tiene una respuesta aquí:

Estoy trabajando en una aplicación Java que genera un informe por una duración ingresada por un usuario en la línea de comando. El usuario debe ingresar las fechas en el siguiente formato: dd-MM-aaaa

> java report startDate endDate

Ejemplo:

informe de java 01-01-2013 31-03-2013

En el código guardo las fechas en dos cadenas. Tengo que asegurarme de que la fecha de inicio ingresada por el usuario sea una fecha anterior a la fecha de finalización. ¿Hay una función incorporada que pueda ayudarme a lograr esto pasando estas dos cadenas a ella?


Analice las dos fechas firstDate y secondDate usando SimpleDateFormat .

firstDate.after(secondDate);

firstDate.before(secondDate);



Puede usar Date.before() o Date.after() o Date.after() para comparar fechas.

Tomado desde here :

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDiff { public static void main( String[] args ) { compareDates("2017-01-13 00:00:00", "2017-01-14 00:00:00");// output will be Date1 is before Date2 compareDates("2017-01-13 00:00:00", "2017-01-12 00:00:00");//output will be Date1 is after Date2 compareDates("2017-01-13 00:00:00", "2017-01-13 10:20:30");//output will be Date1 is before Date2 because date2 is ahead of date 1 by 10:20:30 hours compareDates("2017-01-13 00:00:00", "2017-01-13 00:00:00");//output will be Date1 is equal Date2 because both date and time are equal } public static void compareDates(String d1,String d2) { try{ // If you already have date objects then skip 1 //1 // Create 2 dates starts SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = sdf.parse(d1); Date date2 = sdf.parse(d2); System.out.println("Date1"+sdf.format(date1)); System.out.println("Date2"+sdf.format(date2));System.out.println(); // Create 2 dates ends //1 // Date object is having 3 methods namely after,before and equals for comparing // after() will return true if and only if date1 is after date 2 if(date1.after(date2)){ System.out.println("Date1 is after Date2"); } // before() will return true if and only if date1 is before date2 if(date1.before(date2)){ System.out.println("Date1 is before Date2"); } //equals() returns true if both the dates are equal if(date1.equals(date2)){ System.out.println("Date1 is equal Date2"); } System.out.println(); } catch(ParseException ex){ ex.printStackTrace(); } } public static void compareDates(Date date1,Date date2) { // if you already have date objects then skip 1 //1 //1 //date object is having 3 methods namely after,before and equals for comparing //after() will return true if and only if date1 is after date 2 if(date1.after(date2)){ System.out.println("Date1 is after Date2"); } //before() will return true if and only if date1 is before date2 if(date1.before(date2)){ System.out.println("Date1 is before Date2"); } //equals() returns true if both the dates are equal if(date1.equals(date2)){ System.out.println("Date1 is equal Date2"); } System.out.println(); } }