Как уже упоминалось, вы должны хранить продолжительность вместо местного времени. Если это то, что вы не можете контролировать, подумайте о переносе базы данных или создании промежуточной функции синтаксического анализа. Пример кода, который я не запустил, потому что я не знаю, что в WorkHour
.
// leave the string formatting to other functions
public long userLunchHoursSum(String username) {
List<WorkHour> workHours = workHourRepository.findWorkHoursByUsername(username);
Duration totalDuration = Duration.ZERO;
for (WorkHour workHour : workHours) {
// save your time in the appropriate format beforehand
// do not use local time to store duration.
Duration lunchTime = Duration.between(LocalTime.MIDNIGHT, workHour.getLunch_time().toLocalTime()); //00:30:00
totalDuration = totalDuration.plus(lunchTime);
}
return totalDuration.toMinutes();
}