This is a wheel that\'s been re-invented again and again over the years.
The Problem: The user needs to input a Date/Time
Basic considerations
I've always found Google Calendar easy to use in this respect. You could certainly do worse than trying to emulate it. The key is to give the user a lot of flexibility in how they enter information. For example, I can select a time from a drop down list or type it in manually, and when I type, I'm not required to include the colon or the "m" in "pm".