MATLAB: How to substract time from another time after midnight

after midnightsubstractiontimetime series

So I have start time and end time of trip (in string) in my data, but sometimes end time exceeds midnight, for example:
start_time = "18:30";
end_time = "00:30";
How can correctly substract them to get the right duration time ? Which means I have to 6 hrs duration instead of 18 hrs.

Best Answer

Take the difference as you are now. If the difference exceeds 12 hours, subtract the difference from 24.
Or when you do the conversion to numeric hours and minutes from string object, if the end is less than the first add 24 to the end before taking end minus start.