You are not checking for the am or pm. PM times add 12 hours except for 12:00pm to 12:59 pm.
I would recommend using the util.scand method to convert the time strings to Date objects, and then it will be very easy to calculate the difference between them.
How are you going to handle the events of changing to DST or Summer time
What results are you getting for various start and end times?
What happen with all am times?