Я хочу вычислить разницу между двумя датами и временем в java, используя классы Date и Calendar. У меня есть формат «2012-01-24 12:30:00 PM».
Я реализовал свой собственный метод, а также погуглил, чтобы работать с другими, но не получил правильной подсказки для обработки значений AM и PM.
Разница между датой и временем сбивалась, когда время показывало 12 (AM / PM). Например, если у меня есть дата / время «2012-01-24 12:30:00 PM» и «2012-01-24 2:30:00 PM», это показывает, что разница составляет 10 часов.
Учитывая код на по этой ссылке , как его можно изменить для обработки AM и PM.
Чтобы преобразовать дату String в Date, я использую следующий код:
String sessionTimeStart = "2012-01-24 12:30:00 PM";
String sessionTimerEndOrCurrent = "2012-01-24 02:30:00 PM";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
Date d1 = null;
Date d0 = null;
try {
d1 = format.parse(sessionTimeStart);
d0 = format.parse(sessionTimerEndOrCurrent);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}