Comparar fechas

       Un pequeño aporte a Luz Jasso. Mie, 08/02/2017 - 13:26        

        //fechas de ejemplo
        String fecha_ini = "2007-11-08";
        String fecha_fin = null;
        //hojas de ejemplo
        String hr_ini    = "02:00";
        String hr_fin    = "02:30";
        //declaracion de variables
        double diff, min, hrf;
        Date   result1, result2;
       
        SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm");
       
        try {
            result1 = formater.parse(fecha_ini+" "+hr_ini);
            result2 = formater.parse(fecha_fin+" "+hr_fin);
            //
            diff = result2.getTime() - result1.getTime();
            long tiempoMensual =0;
            tiempoMensual += diff;
            min=((diff%3600000)/60000)/60;
            hrf=diff/3600000;            
        } catch (ParseException ex) {
            //Escriba aqui los valores de retorno al ocurrir error
            min=0;hrf=0;
        }

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

En Java 9 puedes usar las

En Java 9 puedes usar las clases LocalDateTime, Duration y DateTimeFormatter.

import java.time.LocalDateTime;
import java.time.Duration;
import java.time.format.DateTimeFormatter;

public class CompareDate {
    public static void main(String ... args) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        LocalDateTime a = LocalDateTime.parse("2007-03-02 02:00", formatter);
        LocalDateTime b = LocalDateTime.parse("2007-03-02 04:30", formatter);
        Duration duration = Duration.between(a,b);

        System.out.printf("%d dias, %d hrs, %d mins, %s secs%n",
                duration.toDaysPart(),
                duration.toHoursPart(),
                duration.toMinutesPart(),
                duration.toSecondsPart());
    }
}
$java  CompareDate
0 dias, 2 hrs, 30 mins, 0 secs