Вычислить разницу даты / времени в Java с учетом AM / PM

Я хочу вычислить разницу между двумя датами и временем в 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();
    }

7
задан Basil Bourque 24 March 2016 в 05:58
поделиться