my @bits = split ' ', localtime( time() - ( 45 * 24 * 60 * 60 ) );; my $n = 1; my %months = map{$_, $n++} qw[Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec];; my $targetDate = join '-', $bits[ 4 ], $months{ $bits[ 1 ] }, $bits[2];; print $targetDate;; 2007-11-28