use warnings; use strict; use DateTime; # [faked method call] print MakeDateTime(undef, 2015, 8, 24, 17, 36, 47, 144); sub MakeDateTime { my $self = shift; my ($Year, $Month, $Day, $Hour, $Minute, $Second, $MilliSecond) = @_; my $DateTime = DateTime->new( year => $Year, month => $Month, day => $Day, hour => $Hour, minute => $Minute, second => $Second, nanosecond => ($MilliSecond * 1000000), time_zone => 'America/New_York', ); return $DateTime; }