Java Time Different timeDiff(Date salida, Date llegada)

Here you can find the source of timeDiff(Date salida, Date llegada)

Description

time Diff

License

Open Source License

Declaration

public static Date timeDiff(Date salida, Date llegada) 

Method Source Code

//package com.java2s;
//License from project: Open Source License 

import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Main {
    public static Date timeDiff(Date salida, Date llegada) {
        long m1 = toMinutes(salida);
        long m2 = toMinutes(llegada);
        long dif = Math.abs(m2 - m1);
        Date fecha = toDate(dif * 60);
        return fecha;
    }//w w w . j  av a2 s  .c  om

    public static Long toMinutes(Date fecha) {
        String sFecha = toTime(fecha);
        long horas = Long.parseLong(sFecha.substring(0, 2));
        long minutos = Long.parseLong(sFecha.substring(3));
        minutos = horas * 60 + minutos;
        return minutos;
    }

    public static Date toDate(int year, int month, int day) {
        Calendar cal = Calendar.getInstance();
        cal.set(year, month - 1, day);
        return cal.getTime();
    }

    public static Date toDate(long segundos) {
        long horas = segundos / 3600;
        segundos = segundos % 3600;
        long minutos = segundos / 60;
        segundos = segundos % 60;
        DecimalFormat df = new DecimalFormat("00");
        String sfecha = df.format(horas) + ":" + df.format(minutos) + ":"
                + df.format(segundos);
        Date fecha = timeToDate(sfecha);
        return fecha;
    }

    public static String toTime(Date fecha) {
        String time = "00:00";
        if (fecha != null) {
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
            time = sdf.format(fecha);
        }
        return time;
    }

    /**
     *
     * @param time: LA hora en formato HH:mm o HH:mm:ss
     * @return Retorna un dato de tipo Date
     */
    public static Date timeToDate(String time) {
        Date fecha = null;
        try {
            SimpleDateFormat sdf;
            if (time.length() == 5) {
                sdf = new SimpleDateFormat("HH:mm");
            } else if (time.length() == 8) {
                sdf = new SimpleDateFormat("HH:mm:ss");
            } else {
                throw new RuntimeException("Formato de tiempo incorrecto.");
            }
            fecha = sdf.parse(time);
        } catch (Exception e) {
        }
        return fecha;
    }
}

Related

  1. isDateDiff_2(String pattern, String time2, String time1)
  2. isLowerThanMinTimeDiff(Date lastUpdate, Date now, Long minTimeDiff)
  3. printTimeDiff(Long oldDate, Long newDate, String message)
  4. printTimeDiffNano(String message, long start)
  5. timeDiff(Calendar calenndarCurrentTime, Calendar calenndarStartTime)