Ich habe eine Methode, die zwei String-Parameter dauert. Die zwei Zeichenfolgen sind Zeitwerte im 24-Stunden-Format. Die Zeiten werden mit einem TimePicker von der Benutzeroberfläche ausgewählt. Das Ziel der Methode ist es, die Dauer zwischen StartTime
und EndTime
in Minuten zu erhalten.Der Unterschied zwischen zwei Zeiten in Minuten kommen als negative
public static String getTimeDuration(String StartTime24, String EndTime24)
{
String duration = "";
try
{
SimpleDateFormat parseFormat = new SimpleDateFormat("HH:mm");
Date startTime = parseFormat.parse(StartTime24);
Date endTime = parseFormat.parse(EndTime24);
long mills = endTime.getTime() - startTime.getTime();
long minutes = mills/(1000 * 60);
duration = "(" + minutes + " Minutes)";
}
catch(ParseException ex)
{
// exception handling here
}
return duration;
}
Die Methode funktioniert einwandfrei, wenn beide Zeiten innerhalb eines einzelnen Datums liegen. Zum Beispiel:
StartTime = 22:15
EndTime = 23:51
Output = (96 Minutes)
Aber mein Problem ist, gibt die Methode negativ, wenn die Endzeit nach 12'o Uhr in der Nacht ist. Zum Beispiel
StartTime = 23:51
EndTime = 0:55
Output = (-1376 Minutes)
What I want: (64 Minutes)
Wie kann die Dauer korrekt sein?
perfekt hilft! danke – BuggyCoder
Gern geschehen :) – tahsinRupam