The core implementations for the DateTime.pm and DateTime::Duration modules come from Date::ICal and Date::ICal::Duration, both of which were written by Rich Bowen with help from the Reefknot team. Parts of the API come from Time::Piece, by Matt Sergeant , who had help from Jarkko Hietaniemi . That API was originally created by Larry Wall. The DateTime::Locale functionality is based in part on the Date::Language modules that come with Graham Barr's TimeDate module suite. The strftime method in this module also borrows heavily from Graham's implementation. The week number and week year calculations are taken from Steffen Beyer's Date::Calc module. The code for handling nanoseconds and the code for leap seconds were both largely written by Flavio Soibelmann Glock, who also has contributed various other features and fixes. Many others have helped out with code, ideas, and bug reports. See the Changes file for details.