Usually I tend to use DateTime, but I've recently started using Time::Piece, which overrides the default localtime() into a really useful method that returns an object. It's far more lightweight than DateTime and does most of the stuff I normally want to do anyway.