Calcular Diferença de Data / Hora em Java, considerando AM / PM

Eu quero calcular a diferença entre duas datas / horas em java usando as classes Date e Calendar. O formato que tenho é "24-01-2012 12:30:00".

Eu implementei meu próprio método e também o google para trabalhar com outras pessoas, mas não recebi a dica certa para lidar com os valores AM e P

A diferença de data / hora fica com problemas sempre que há 12 horas (AM / PM). Por exemplo, se eu tiver a data / hora "24-01-2012 12:30:00" e "24/01/2012 14:30:00", isso mostra que a diferença é 10 horas.

Considerando o código emesse lin como pode ser modificado para lidar com AM e P

Para converter a data da String em Data, uso o seguinte código:

    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();
    }

questionAnswers(12)

yourAnswerToTheQuestion