I rarely need to go beyond strftime and it's friend, POSIX::strptime to meeting my D/T needs. Time::Piece (which implements it's own strftime and strptime) also seems nice, though I've been warned it has edge cases - not sure what they are, so idk if that's true or not.