between Time and DateTime has to do with implementation. DateTime comes from the Rails world and is an arbitrary date with time of day. It's more of a calendar-based system. DateTime is what you get from a database in Rails. Time is what Ruby has traditionally used. Time is measured as seconds since January 1, 1970 UTC and is time- zone agnostic. If you're working with values where dates are important and you want to know things like the end of the month or what day it'll be six weeks ahead, use DateTime. If you're just measuring elapsed time and don't care about dates, use Time. They're easy to convert between if necessary. Date on the other hand is just a calendar date and doesn't have any associated times. You might want to use these where time is irrelevant. strptime is short for "parse time" strftime is for "formatting time". That is, strptime is the opposite of strftime though they use, conveniently, the same formatting specification. DateTime.parse similar to strptime. Strptime is the legacy parser.
RubyOnRails (and others) https://github.com/timcharper/calendar_date_select http://rubygems.org/gems/calendar_date_select 186,826 total downloads 20,640 for this version