Don't trust the browser to give valid data. You can restrict when is offered in the dropdowns to simplifiy things for the users but always verify user input.
Store the date in unix time format. This will be easy to compare, sort, and convert to human readable using localtime as for converting human readble dates to unix tim check out Time::ParseDate
Of cousre all of the usual stuff about using strict, -w, and taint mode.