Time::Moment
use Time::Moment; my $tm = Time::Moment->new( year => 2015, month => 2, day => 10, hour => 18, minute => 32, second => 0, ); say "$tm"; # 2015-02-10T18:32:00Z say $tm->strftime("%A, %b %d %Y"); # Tuesday, Feb 10 2015 say $tm->day_of_month; # 10 say $tm->day_of_week; # 2 say $tm->plus_months(1); # 2015-03-10T18:32:00Z