The CPAN library, at http://search.cpan.org, contains thousands of packages which deals with dates, such as Date::Calc, Date::Manip, or Date::Simple.
For example, click on the Date::Simple link and look at the EXAMPLES section:
use Date::Simple ();
my $date = Date::Simple->new('1972-01-17');
An opaque object as provided by this particular (pre-built, pre-tested) CPAN package, has among other things the ability to parse a date-string such as the one that you have, and to “do things with” the resulting date-value. You do not have to be concerned with exactly how the magic works, because the logic has been rigorously tested (even as part of the process of installing the package on your system). To you, that object “is a” date, and a very smart one at that.
Although this particular package deals only with dates, not hours ... have a peek now at, say, Date::Calc::Object or Date::Calc. :-) Truly, there is nothing having to do with dates ... no, not even in the Mayan calendar (DateTime::Calendar::Mayan), if you are so inclined, whereby you must “roll your own.”