Date::Manip will do just about anything. It's not fast, though, so if you need speed you'd be better off using one of the other packages on CPAN. Date::Calc, for instance, is quite a bit faster for most applications.
If you don't need speed, however, I've found that Date::Manip is great to have...