Use separate textboxes for the hour
and minute
values and a pair of radio buttons for AM/PM
value.
Typing desired values is usually easier (quicker) than clicking or pressing a button to get to them. Just think about the worst-case scenarios for the number ranges you're using.
For a 12-hour clock, the greatest distance is 6 if you can go directly from 12
to 1
and vice versa; for minutes in an hour, the greatest distance is 30 if you can go directly from 59
to 00
and vice versa.
So, let's assume the default is 12
:00
and I want to input 6
:30
. I have to press the Increase Hours button 6 times and the Increase Minutes button 30 times. That's a max total of 36 mouse clicks not including possible clicks for AM/PM selection and form submission.
I could hold down these buttons for indeterminate amounts of seconds, but that's part of the problem: it's hard to predict ahead of time how much to hold.
In contrast, if I'm able to type and I want 6
:30
, I just go:
6, Tab, 3, 0