Time::Piece is quickly becoming my Super Date Module Number One. Between it and the DateTime project, i need little else. It is a simple, brute-force modules that is simple to use and easy to understand.
Time::Piece is a "drop-in" replacement for localtime and gmtime. Simple call those functions in scalar context and you get a Time::Piece object instead (and you still can call those functions in list context for backwards compatibility).