use Time::Local; use POSIX qw[strftime]; my $other_time = timelocal($sec,$min,$hours,$mday,$mon,$year); my $days = 30; my $otherExpiration = strftime('%Y%m%d', localtime($other_time + 60 * 60 * 24 * + $days));