Necesito obtener el número de minutos entre dos fechas. Sé que Joda es el mejor para usar, pero esto es para un proyecto de Android, por lo que prefiero usar un poco de bibliotecas externas como sea posible, y la aplicación que estoy construyendo no requiere que el cálculo sea quirúrgicamente preciso.Diferencia, en minutos, entre dos fechas
Sin embargo, el código que estoy usando no parece funcionar. Estoy tratando de obtener la cantidad de minutos entre "21/11/2011 7:00:00 AM" y "21/11/2011 1:00:00 PM" (que debe ser de 360 minutos), pero el código I Estoy usando devoluciones 0:
int diff = minutesDiff(GetItemDate("11/21/2011 7:00:00 AM"), GetItemDate("11/21/2011 1:00:00 PM"));
public static Date GetItemDate(final String date)
{
final Calendar cal = Calendar.getInstance(TimeZone.getDefault());
final SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a");
format.setCalendar(cal);
try {
return format.parse(date);
} catch (ParseException e) {
return null;
}
}
public static int minutesDiff(Date earlierDate, Date laterDate)
{
if(earlierDate == null || laterDate == null) return 0;
return (int)((laterDate.getTime()/60000) - (earlierDate.getTime()/60000));
}
Hace? No es para mi Además, ¿por qué estás haciendo la división dos veces? –
Funciona perfectamente bien para mí. La salida es -360. – Tyler
No sé por qué está obteniendo cero, pero su cadena de formato es incorrecta. HH es el formato para la hora entre 0 y 23, pero como también tiene el carácter de formato, supongo que quiere que la hora esté entre 1 y 12, y debería usar hh. Actualmente, tu 1:00:00 PM se analiza como 1:00:00 AM. – Brigham