The JEDI VCL has a plethora of options.
If you want to be able to do something like the Google Calendar where you can select a range from say, 9 to 11 am visually, on a particular day, you can use the JvTimeFramework (personal organizer) components. For a single day view with times from a particular range to another particular range, the TJvTFDays
component is ideal:

You click on the time where you want to start, like Google Calendar does. Then you type "Lunch with dave" and hit enter, then you grab the bottom of the square and drag it up and down to fix the duration, or drag the top of the square up and down to change the start time. If you double click it, you can directly input using a dialog box -- the Add Appointment dialog shown in the screenshot is only one option users have. They can work without that, and just directly input onto the day-timer page control.
Otherwise, if you want to stick to text entry, I would combine several controls, including a JvDateTimePicker.
Check out the examples\JvTimeFrameWork\PhotoOp
demo in the JVCL examples folder for the above program.