If it seems timesheets force selection 'on the hour'...
Sometimes during the insertion of a timesheet event (e.g., a visit), it may seem that the timesheet is trying to force you to choose a value which is 'on-the-hour', e.g., 12:00 PM, when the value you want is actually 'within-the-hour', e.g., 12:45 PM.
That is not the case: timesheets is simply trying to avoid having you have to 'spin' through so many values... so it's instead offering you a 'starting point' closer to your actual time.
If you click on the 'hour' value, you're presented with a range of hours:
...whereas, if click on the minutes value, you're presented with a range of minutes from which to select in five-minute increments.