se strict; use warnings; use Data::Dumper; use POSIX qw(strftime); use Date::Calc qw( Today Add_Delta_Days ); # get todays date::: my $today = sprintf "%04d%02d%02d", Today(); my $month_ago_1 = strftime("%Y%m%d",localtime(time() - 720*60*60)); my $month_ago_2 = sprintf "%04d/%02d/%02d",Add_Delta_Days( Today(), -30 ); print "\n Today = $today\n\n"; print "$month_ago_1 - $month_ago_1\n"; my @date = localtime; $date[3] -= 4 * 7; my $month_ago = sprintf "%04d%02d%02d", @date; print "\n $month_ago\n"; my $month_ago_3 = strftime('%Y-%m-%d', localtime(time - 4 * 7 * 86400)); print "\n $month_ago_3\n"; exit;