in reply to Which DateTime:: module to use?

You can split out the values and pass them to Time::Local::timelocal (which is a core module), and get a UNIX timestamp back. That is just a number of seconds since a reference date, so if you want to compare two dates if they are 12h apart, you can just check their difference for 12 * 60 * 60.