A word of caution about doing your own arithmetic with times.
round(time('02:45'), 'hh:mm') = time('03:00', 'hh:mm') AND MakeTime(3)
round(time('01:45'), 'hh:mm') <> time('02:00', 'hh:mm') OR MakeTime(2)
Due to numeric precision, calculated times may not align with time generated by QV time functions or database times. Not a problem if all your times are passing through the same arithmetic, but a potentially a subtle bug if they are not.