Я пытаюсь вычислить разницу между данными двумя разами и нахожу в этом какую-то проблему.
Предположим, у нас есть значения времени "11: 00" и 10:00 ".
Я могу рассчитать, но в AM, PM есть небольшая путаница.
Заранее спасибо
Я использую следующий код:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDate {
public static String timeDiff(String time1, String time2) {
String Time = null;
int difference;
String a1 = time1.substring(6);
String a2 = time2.substring(6);
try {
// Define a date format the same as the expected input
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a");
// Get time values of the date objects
long l1 = sdf.parse(time1).getTime();
long l2 = sdf.parse(time2).getTime();
difference = (int) (l2 - l1);
difference = (difference < 0 ? -difference : difference) / 60000;
if (difference > 60) {
int Hour = difference / 60;
int Mins = difference % 60;
if (Mins == 0)
Time = Hour + " Hours";
else
Time = Hour + " Hours" + " " + Mins + " Mins";
} else {
Time = difference + " " + "Mins";
}
} catch (ParseException e) {
e.printStackTrace();
}
return Time;
}
public static void main(String[] args) {
String diff = StringToDate.timeDiff("10:00 AM", "01:00 PM");
System.out.println("Difference: " + diff);
}
}