[RESOLVIDO]Manipulação de horas e minutos Java + Postgres

Estou finalizando um projeto de Folha de Ponto para uma contabilidade e é meu primeiro projeto então ainda não experiência em manipular data e hora no java e no banco de dados, sem mais delongas:

Preciso única e exclusivamente fazer a seguinte conta através do sistema:

Hora Entrada            Hora Saída Almoço              Retorno Almoço               Saída

      08:00                            11:00                                  13:00                       17:00

Totalizando 3horas trabalhadas pela manhã e mais 4 horas trabalhadas a tarde. Gostaria de saber a melhor forma de manipular e fazer esta conta, pensei em transformar em long mais não consegui concluir a idéias. Eu sei que de longe isso é um exemplo Mínimo, Completo e Verificável, mais gosto de entender como fazer e depois me virar, quem poder me ajudar agradeço muito!!
Após assistir várias video aulas, fiz da forma abaixo, para que eu possa descobrir a duração entre as horas de entrada e saída, mais realmente achei que ficou uma gambiarra, quem poder me ajudar a melhorar esse código, transformar 23:00 em dois atributos inteiros um de 23 e outro com valor 00 não parece estar certo para mim, desde já agradeço!

 public void teste(){
    int teste1 = (Integer.parseInt(jTextFieldHora1.getText().substring(0,2)));
    int teste2 = (Integer.parseInt(jTextFieldHora1.getText().substring(3,4)));
    
    int teste3 = (Integer.parseInt(jTextFieldHora2.getText().substring(0,2)));
    int teste4 = (Integer.parseInt(jTextFieldHora2.getText().substring(3,4)));
    LocalTime time1 = LocalTime.of(teste1,teste2);
    LocalTime time2 = LocalTime.of(teste3,teste4);
    System.out.println(ChronoUnit.MINUTES.between(time1, time2));

Bom dia Dhouglas,

Acredito que isso pode te ajudar:

http://joda-time.sourceforge.net/key_duration.html

Obrigado Weverton andei dando uma estudada no joda-time, eu atualizei minha pergunta, pode me ajudar a melhorar a gambiarra que eu fiz para pegar a diferença das horas, Obrigado!

Bom dia Dhouglas,

Da uma verificada nesse método:

LocalTime hora1 = LocalTime.parse("08:00");

Acredito que com ele você vai conseguir remover esses substrings.