in reply to Choosing the closest date...

While others have already forwarded suggestions on how to approach this problem, I think there is one additional aspect of date parsing and sorting which has been overlooked in the discussion thus far, that being regional formats.

The differences in order of date elements, namely day of the month, month of the year and year, and acceptable element separator can complicate this problem greatly - For example the date '04/03/2002' may be read as 4th of March 2002 or 3rd of April 2002, depending upon region and individual preferences.

For simple date parsing and sorting where all dates are of a known and fixed format, the simple approach of date splitting and sorting - the Schwartzian Transform may be of use in this approach - whereas for more complex sorting, the Date::Manip module should be employed, which is particularly good at parsing dates of indeterminate format.

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000001000000001"))'