I would definitely recommend DateTime. It is well done and actively maintained. You can set your locale or use time_zone => 'floating' to ignore time zones. I would also take a look at the slides from Dave Rolsky's DateTime talk (video here). They are handy for understanding why weird things happen with date math.